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

VBA IsEmpty 関数

はじめに

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

IsEmpty 関数は、指定したバリアント型 (Variant) の値が空かどうかを判定します。

エラーなどが原因で値を設定できないときにの判定に使用します。

構文

IsEmpty(値)

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

解説

バリアント型 (Variant) の初期値にはEmptyという値が設定されています。

引数「値」にその Empty が設定されている Variant が渡されたときに True を返します。

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

参照型に何も設定していない Nothing を指定したときは False を返します。

正常な処理ができない関数の戻り値として Empty を返すと、関数が正常に行われたかどうかを判定できます。

使用例


Dim b As Boolean

Dim n ' 型を指定しない変数は Variant 型です。
b = IsEmpty(n)
Debug.Print (b) ' True

Dim v As Variant

b = IsEmpty(v) ' 何も設定していない Variant には Empty が設定されています。
Debug.Print (b) ' True

If v = Empty Then
    Debug.Print ("Empty") ' Empty
End If

v = Empty
b = IsEmpty(v)
Debug.Print (b) ' True

v = ""
b = IsEmpty(v)
Debug.Print (b) ' False

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

Dim i As Integer
Dim s As String

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

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

関数が正常に行われたか判定する。


Sub 実行()
    Dim v As Variant
    v = Tips(0)    ' 不正
    ' v = Tips(50) ' 正常

    If IsEmpty(v) Then
        Debug.Print ("不正")
    Else
        Debug.Print ("正常")
    End If
End Sub

Function Tips(ByVal i As Integer) As Variant
    If i < 1 Or i > 100 Then
        Exit Function ' 不正な引数のため処理を中止
    End If
    
    Tips = "found" ' 正常な処理
End Function

関連ページ