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

VBA VarType 関数

はじめに

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

VarType 関数は、指定した変数のデータ型を示す数値を返します。

Variant や Object 型に設定されている型を調べたいときに使用します。

構文

VarType(値)

名前 説明
引数「値」型名を調べたい値を指定します。
戻り値数値型 (Integer)

引数「値」と戻り値の例

戻り値 定数
Empty0vbEmpty
Null1vbNull
1002vbInteger
1.55vbDouble
#12/31/2000#7vbDate
"Tips"8vbString
Nothing9vbObject
CVErr(2042)10vbError
True11vbBoolean
Variant の配列12vbVariant
配列型8192vbArray

配列を指定すると型の値 + 配列の値を返します。

戻り値 定数
Integer の配列2 + 8192vbInteger + vbArray
String の配列8 + 8192vbString + vbArray
Variant の配列12 + 8192vbVariant + vbArray

解説

戻り値にはすべて vb から始まる定数が用意されています。定数は Enum VbVarType で定義されています。

Variant や Object 型を指定したときは、それに入っている型の値を返します。

配列を指定したときは、その配列の型の値 (vbInteger など) に配列の値 (vbArray) を加えた数値を返します。

Variant や Object の配列のときは中に入っている型に関係なく、vbVariant または vbObject に配列の値 (vbArray) を加えた数値を返します。

使用例


Dim i As Integer
Dim v As Variant

v = 100
i = VarType(v)
Debug.Print (i) ' 2 (vbInteger)

v = 1.5
i = VarType(v)
Debug.Print (i) ' 5 (vbDouble)

v = Now
i = VarType(v)
Debug.Print (i) ' 7 (vbDate)

v = "Tips"
i = VarType(v)
Debug.Print (i) ' 8 (vbString)

v = CVErr(2042)
i = VarType(v)
Debug.Print (i) ' 10 (vbError)

v = True
i = VarType(v)
Debug.Print (i) ' 11 (vbBoolean)

Dim vEmpty As Variant
i = VarType(vEmpty)
Debug.Print (i) ' 0 (vbEmpty)

Dim o As Object
i = VarType(o)
Debug.Print (i) ' 9 (vbObject)

Set o = Worksheets(1)
i = VarType(o)
Debug.Print (i) ' 9 (vbObject)

Dim ints(10) As Integer
i = VarType(ints)
Debug.Print (i) ' 8194 (2 + 8192, vbInteger + vbArray)

Dim vs(10) As Variant
vs(0) = 10
i = VarType(vs)
Debug.Print (i) ' 8204 (12 + 8192, vbVariant + vbArray)

関連ページ