【VBA】変数の型を確認する

エクセルVBAで使用するコードの備忘録。VBAで指定した変数の型(Double, Stringなど)を判定するコード。

スポンサーリンク

TypeName関数

指定した変数の型が何であるかを判定するにはTypeName関数を使用します。TypeName関数に引数として変数を与えてやると、戻り値としてその変数の型を示す文字列が返されます。

下記の表に引数として与える変数の型と戻り値を記載します。大半は変数の型そのままの名前が返されますが、一部特殊なものもあります。

引数戻り値
Byte型Byte
Integer型Integer
Long型Long
Single型Single
Double型Double
Currency型Currency
Decimal型Decimal
Date型Date
String型String
Boolean型Boolean
エラー値Error
初期化されていない場合Empty
有効な値がない場合Null
オブジェクト型Object
不明な方のオブジェクトUnknown
オブジェクトを参照していない場合Nothing

サンプルコード

下記のサンプルコードでは、引数として指定した変数の型をTypeNameメソッドを使用して取得しています。下記の例では、Object型のtargetVarの変数型を確認しようとしていますが、なにも値を設定する前に型を取得しているので、変数「typeStr」には「Nothing」が格納されます。

Public Sub TypeNameTest()
    
    '--- 型を確認したい変数(今回はObject型) ---'
    Dim targetVar As Object
    
    '--- 戻り値を格納する変数 ---'
    Dim typeStr As String
    
    '--- 型を取得 ---'
    typeStr = TypeName(targetVar)
    
End Sub