変数がNull 値かどうかをチェックする( IsNull 関数 )
IsNull 関数の使い方
result = IsNull ( expression )
【引数・戻り値】
- expression ・・・ 調べる変数や式
- result ・・・ 引数 expression が、Null 値を含んでいるかどうかを調べた結果
(ブール型:Null 値を含む場合は、True / そうでなければ、False )。
変数が Null 値 である場合とは、有効なデータが入っていないことを示す値のことです。変数が初期化されていない場合( Empty )、長さ「0」の文字列( Null文字 )の場合とは異なります。
引数 expression が複数の変数で構成されている場合、その中の変数が1つでも Null 値の場合は、式全体が Null 値となります。(※ ただし、「&」演算子を使用した場合は複数の変数があっても Null 値とならない場合もあります。⇒ 「VBA の演算子(文字連結演算子:& 演算子 + 演算子)」を参照)
If ステートメント等を使って、
If value = Null then …
If value <> Null then …
とした場合、いずれの式も False(偽)と評価されてしまいます。これは Null 値を含む式は、式自体が Null 値となり、偽 (False) と評価されるためです。
IsNull 関数の使用例
サンプルVBAソース<その1>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
Sub Sample_isnull01() Dim myVal1, myVal2, myVal3, myVal4, myVal5, myVal6, myVal7 myVal2 = "" myVal3 = 0 myVal4 = Empty myVal5 = 123 myVal6 = "こんばんは" myVal7 = Null 'False Debug.Print IsNull(myVal1) Debug.Print IsNull(myVal2) Debug.Print IsNull(myVal3) Debug.Print IsNull(myVal4) Debug.Print IsNull(myVal5) Debug.Print IsNull(myVal6) 'True Debug.Print IsNull(myVal7) Debug.Print IsNull(myVal1 + myVal7) Debug.Print IsNull(myVal2 + myVal7) Debug.Print IsNull(myVal3 + myVal7) Debug.Print IsNull(myVal4 + myVal7) Debug.Print IsNull(myVal5 + myVal7) Debug.Print IsNull(myVal6 + myVal7) End Sub |
実行結果(その1)
サンプルVBAソース<その2>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Sub Sample_isnull02() 'Null を含む式は全て偽(False)となるため 'メッセージボックスには、「ccc」と表示されます。 Dim myVal If myVal = Null Then MsgBox "aaa" ElseIf myVal <> Null Then MsgBox "bbb" Else MsgBox "ccc" End If End Sub |
実行結果(その2)
関連記事
-
-
文字列:2つの文字列を比較する(StrComp 関数)
StrComp 関数の使い方 【書式】 result = StrComp ( s …
-
-
ポイント単位の値に変換(CentimetersToPoints,InchesToPoints)
CentimetersToPoints メソッド センチメートル単位の値をポイン …
-
-
色の設定(ThemeColor プロパティ・TintAndShade プロパティ)
ThemeColor プロパティ・TintAndShade プロパティ テーマカ …
-
-
VBA で正規表現を使う(RegExp オブジェクトのプロパティ)
RegExp オブジェクトのプロパティ RegExp オブジェクトの詳細に関して …
-
-
連想配列(Dictionary オブジェクト)
連想配列 連想配列とは、添字(キー)に文字列を使用することができる配列です。 V …
-
-
日付時刻:経過時間を取得( Timer 関数 )
Timer 関数の使い方 【書式】 result = Timer () 【戻り値 …
-
-
式を評価し、結果(真・偽)に応じた式・値を返す(IIf 関数)
IIf 関数 の使い方 IIf(アイイフ)関数は、式を評価してその結果(真・偽) …
-
-
文字列:定数(改行・タブ)
改行・タブの定数 これらの定数は、使用前に定義する必要はありません。コード中のど …
-
-
指定した数値に対応する選択肢の値・数式を返す(Choose 関数)
Choose 関数 の使い方 Choose 関数は、指定されたインデックス値(1 …
-
-
Split 関数(文字列型の一次配列を作成)
Split 関数の使い方 【書式】 myArray = Split ( expr …

