サイトについて      連絡先   検索

VBA IsNull 関数

はじめに

Excel VBA の IsNull 関数を紹介します。

IsNull 関数は、指定した値が Null かどうかを判定します。

データベースなどから取得した値が Null かどうかの判定に使用します。

構文

IsNull(値)

名前 説明
引数「値」Null が設定されているか判定したい値を指定します。
戻り値ブール型 (Boolean)

解説

バリアント型 (Variant) に Null が設定されていると True を返します。

それ以外の値や型を指定したときは False を返します。

空文字や Empty, vbNull, vbNullChar, vbNullString などが指定されたときは False を返します。

Null はデータベースから取得した値が何もないことを示す特殊な値として使われます。Null を引数に渡すとエラーが発生する関数が多くあります。Null を取得したら別の値、空文字 "" や 0 などに変換するなどの対処が必要です。

使用例


Dim b As Boolean
Dim v As Variant ' 何も設定しないと Empty が入っている

b = IsNull(v)
Debug.Print (b) ' False

v = Null
b = IsNull(v)
Debug.Print (b) ' True

v = Empty
b = IsNull(v)
Debug.Print (b) ' False

Set v = Nothing
b = IsNull(v)
Debug.Print (b) ' False

Dim i As Integer
Dim s As String

b = IsNull(i)
Debug.Print (b) ' False

b = IsNull(s)
Debug.Print (b) ' False

Null を別の値にする。


Dim v As Variant
v = Null ' データベースから値を取得する処理

Dim i As Integer
' i = Len(v) ' Null が入っているとエラーになる

If IsNull(v) Then
    v = "" ' Null なら空文字にする
End If

i = Len(v) ' 取得した値が Null でも別の値でも正常に処理が行われる

関連ページ