[VBA] VarType関数で変数のデータ型を調べます

VarType関数で変数のデータ型を調べます

 VarType関数引数に指定した値のデータ型を示す数値 を返します。たとえば次のようなマクロを書いてみましょう。

 '変数のデータ型を数値で表示します

 Sub DataType1()

 Dim x As Double

 Debug.Print VarType(x)

 End Sub

 変数 x を Double型で宣言しておいてから、それを VarType関数に入れてあります。このマクロを実行すると「 5 」という数字が表示されます。これは変数が Double型であることを示す変数の組込定数 (vbDouble) です。もうひとつ試してみましょう。

 '変数のデータ型を数値で表示します

 Sub DataType2()

 Dim mystr As String

 Debug.Print VarType(mystr)

 End Sub

 今度は String型変数 mystr を宣言してあるので、String型に対応する組込定数「 8 」が返ってきます。
 

配列を示す数字は 8192

 配列に対応する数字は 8192 ですけど、実際にこの値がそのまま返されることはありません。必ず要素のデータ型を示す数値に加算した値を返します。たとえば次のようなコードを書いたとします。

 '変数のデータ型を数値で表示します

 Sub DataType3()

 Dim x(2) As Integer

 x(1) = 1
 x(2) = 2

 Debug.Print VarType(x)

 End Sub

 このマクロでは配列要素が Integer型で宣言されています。Integer型を表す数値は 2 なので、配列を示す数値 8192 に 2 を加えて 8194 が返ってきます。
 

型がわからない場合に VarType関数を使います

 VarType関数が使われるのは「このデータの型がよくわからないな~」てときです。たとえば Single型と Double型の数値を足したとき、その戻り値のデータ型がどうなるのかを調べてみましょう。

 '単精度浮動小数点型 + 倍精度浮動小数点型

 Sub DataType4()

 Dim x As Single
 Dim y As Double
 Dim z As Variant

 z = x + y

 Debug.Print VarType(z)

 End Sub

 マクロを実行すると「 5 」という値が返ってくるので、Single型数値と Double型数値を加えると Double型となることがわかります。

 ≫ VBA 辞典メニューに戻って他の記事も読んでね~

スポンサードリンク
末尾大型広告
末尾大型広告

コメントをどうぞ

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください