エクセル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