VBAで使用できる関数です。
指定した値がEmpty値かどうかをブール型の値(TrueまたはFalse)で返します。
Empty値はVariant型変数が初期化されていない状態を表すもので、Nullとも異なるものです。
使用例
例1
コード
Variant型の変数a~eを宣言してb~eについては値を代入し、それぞれEmpty値かどうかを判定しています。
Sub Func_IsEmpty()
'すべてVariant型
Dim a As Variant, b As Variant, c As Variant, _
d As Variant, e As Variant
' a : 何もしない
b = Null ' b : Nullを代入
c = "" ' c : 空文字列を代入
d = 0 ' d : 0を代入
e = "こんにちは" ' e : 適当な文字列を代入
MsgBox "a : " & IsEmpty(a) & vbCrLf & _
"b : " & IsEmpty(b) & vbCrLf & _
"c : " & IsEmpty(c) & vbCrLf & _
"d : " & IsEmpty(d) & vbCrLf & _
"e : " & IsEmpty(e)
End Sub出力
宣言しただけの変数aのみがTrueとなります。
b~eのように何かを代入すると、それがNullや空文字などであってもEmpty値とはみなされません。

例2
コード
配列宣言したVariant型の変数について判定する例です。
Sub Func_IsEmpty()
Dim a() As Variant ' a : 動的な配列宣言
Dim b(2) As Variant ' b : 静的な配列宣言
MsgBox "a : " & IsEmpty(a) & vbCrLf & _
"b : " & IsEmpty(b) & vbCrLf & _
"b(0) : " & IsEmpty(b(0))
End Sub出力
a,bとも何も代入していませんがFalseとなります。
一方でbの要素であるb(0)はTrueとなります。

例3
コード
String型の変数a~cについて試したものです。
Sub Func_IsEmpty()
'すべてString型
Dim a As String, b As String, c As String
' a : 何もしない
' なおStringやLongなどにNullは代入できない
b = "" ' b : 空文字列を代入
c = "こんにちは" ' c : 適当な文字列を代入
MsgBox "a : " & IsEmpty(a) & vbCrLf & _
"b : " & IsEmpty(b) & vbCrLf & _
"c : " & IsEmpty(c) & vbCrLf
End Sub出力
いずれもFalseとなります(String型は宣言した時点で値が空文字列となります。Integer型などは0)。
IsEmpty関数がTrueを返すのはVariant型の変数だけです。

書式
IsEmpty(値)
変数名だけでなく文字列や数値を指定することも可能です。このときは当然Falseが返されます。
備考
-