1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Excel VBA】IsNull関数|値がNullか判定する方法と注意点

Last updated at Posted at 2025-07-29

この記事ではIsNull関数の使い方と注意点について解説します。
他のよく使うVBA関数一覧はこちら。

IsNull関数の使い方と注意点

IsNull関数は、変数や式がNull値(データが存在しない状態)かどうかを判定する関数です。
Nullは「値が存在しない・未定義」であり、特にデータベースのフィールドやVariant型の変数において使われます。

Nullは「値が存在しない」ことを示す特別な値であり、数値計算や文字列連結などで使用するとエラーや意図しない結果を招くことがあります。
そのため、Null値を含む変数を扱う場合は、事前にIsNull関数でチェックすることが重要です。

構文

IsNull()
  • : 判定したい変数や値(主にVariant型)
  • 戻り値 : 引数がNullの場合はTrue、それ以外はFalse

使用例

Nullかどうかチェックする

Sub Sample()
    Dim var As Variant

    var = Null

    Debug.Print "var : " & IsNull(var)
End Sub

▶ 出力結果

var : True

Nullを含む変数の処理例

Sub Sample()
    Dim SampleVal As Variant
    SampleVal = Null
    CheckNull SampleVal

    SampleVal = 123
    CheckNull SampleVal
End Sub

Sub CheckNull(val As Variant)
    If IsNull(val) Then
        Debug.Print "値はNull(未定義)です"
    Else
        Debug.Print "値はNullではありません: " & val
    End If
End Sub

▶ 出力結果

値はNull(未定義)です
値はNullではありません: 123

⚠️注意

Nullは「空文字」や「0」とは異なる

Nullは「値が存在しない」状態を表し、空文字""や数値の0とは別物です。
そのためIsNullはNullだけを判定し、空文字や0に対してはFalseを返します。

Sub Sample()
    Dim var1 As Variant
    Dim var2 As Variant
    Dim var3 As Variant

    var1 = Null
    var2 = ""
    var3 = 0

    Debug.Print "var1 : " & IsNull(var1)
    Debug.Print "var2 : " & IsNull(var2)
    Debug.Print "var3 : " & IsNull(var3)
End Sub

▶ 出力結果

var1 : True
var2 : False
var3 : False

Null値の代入例

Variant型の変数にNullを代入可能ですが、通常の数値型や文字列型には代入できません。

Sub Sample()
    On Error Resume Next
    
    Dim Mystr As String
    Dim Myint As Integer

    Err.Clear
    Mystr = Null
    If Err.Number <> 0 Then Debug.Print "Mystr = Null:" & Err.Description

        
    Err.Clear
    Myint = Null
    If Err.Number <> 0 Then Debug.Print "Myint = Null:" & Err.Description

    On Error GoTo 0
End Sub

▶ 出力結果

Mystr = NullNull の使い方が不正です。
Myint = NullNull の使い方が不正です。

その他のVBA関数

【Excel VBA】VBAでよく使う関数一覧&基本の使い方

参考リンク

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?