タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

syntaxとvbaに関するkiyo_hikoのブックマーク (2)

  • VBAのEmptyやNothingやNull等の違いを整理 | Excel作業をVBAで効率化

    値が無い場合の表現 VBAでは値が入っていないときの表現がいくつもあります。 Empty Nothing Null “” vbNullString これらの違いを説明します。 Emptyは、主に2つの場合で発生します。 1つは空白セルの値。もう1つはVariant型の変数の初期値になります。 VBAでは変数の定義時に型を指定せず暗黙の型変換とした場合はVariant型(なんでも型)になるためEmptyになります。セルや変数の値がEmptyかどうかを判定するにはIsEmpty関数を使いますが、””と比較してもちゃんと動作します。 以下のような感じで使います。

    VBAのEmptyやNothingやNull等の違いを整理 | Excel作業をVBAで効率化
    kiyo_hiko
    kiyo_hiko 2019/04/24
    Empty = Variant型の初期値、Nothing = Object型の初期値、Nullは手動でObjectにSetしないと発生しない。あとIsMissingはプロシージャに省略可能引数が渡されたかをチェックする述語。 / 全部Nullでいいのにと思わず愚痴が出る
  • 変数のスコープ (Visual Basic 6.0 ユーザー向け)

    更新 : 2007 年 11 月 Visual Basic 2008 では、ブロック スコープをサポートし、構造化プログラミングを強化するため、ローカル変数のスコープが更新されています。 Visual Basic 6.0 Visual Basic 6.0 では、プロシージャ内で宣言された変数はプロシージャ スコープを持ちます。したがって、同じプロシージャ内のどこからでもアクセスできます。変数がブロック内で宣言されている場合、つまり End、Loop、または Next ステートメントで終了するステートメント セット内で宣言されている場合、変数はブロック外部からでもアクセスできます。 次のコード例では、プロシージャのスコープを示しています。ここでは、ブロックは For ループです。 For I = 1 To 10 Dim N As Long = 0 ' N has procedure scop

    変数のスコープ (Visual Basic 6.0 ユーザー向け)
    kiyo_hiko
    kiyo_hiko 2013/09/09
    VBAはブロックスコープない Option宣言とかでなんとかならなかったのか…新しいめのVBではブロックスコープサポートしてるらしい。With 0を使うというひとがいて参考になった
  • 1