変数 変数の型を取得する(エラーチェック関数)一覧

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。

Option Explicit


Sub TypeNameFunction()
'***************************
'変数の型を取得する
'***************************

Dim vrnTest(6) As Variant, i As Byte

vrnTest(1) = 123456
vrnTest(2) = 12.34
vrnTest(3) = "ABCD"
vrnTest(4) = CDate("2009/01/01 12:12:12")
vrnTest(5) = 1
vrnTest(6) = True

For i = 1 To 6
    Debug.Print TypeName(vrnTest(i))
Next i

'vrnTest(1)=Long
'vrnTest(2)=Double
'vrnTest(3)=String
'vrnTest(4)=Date
'vrnTest(5)=Integer
'vrnTest(6)=Boolean

'TypeName 関数によって次のいずれかの文字列が返されます。
'---------------------------------------------------------
'文字列     変数
'---------------------------------------------------------
'Byte       バイト型 (Byte)
'Integer    整数型 (Integer)
'Long       長整数型 (Long)
'Single     単精度浮動小数点数型 (Single)
'Double     倍精度浮動小数点数型 (Double)
'Currency   通貨型 (Currency)
'Decimal    10 進数型
'Date       日付型(Date)
'String     文字列型 (String)
'Boolean    ブール型 (Boolean)
'Error      エラー値
'Empty      未初期化
'Null       無効な値
'Object     オブジェクト
'Unknown    オブジェクトの種類が不明なオブジェクト
'Nothing    オブジェクトを参照していないオブジェクト変数

End Sub

VarType 関数 変数の内部処理形式を表す整数型 (Integer) の値を返します。

定数 内容
vbEmpty 0 Empty 値 (未初期化)
vbNull 1 Null 値 (無効な値)
vbInteger 2 整数型 (Integer)
vbLong 3 長整数型 (Long)
vbSingle 4 単精度浮動小数点数型 (Single)
vbDouble 5 倍精度浮動小数点数型 (Double)
vbCurrency 6 通貨型 (Currency)
vbDate 7 日付型 (Date)
vbString 8 文字列型 (String)
vbObject 9 オブジェクト
vbError 10 エラー値
vbBoolean 11 ブール型 (Boolean)
vbVariant 12 バリアント型 (Variant) (バリアント型配列にのみ使用)
vbDataObject 13 非OLE オートメーション オブジェクト
vbDecimal 14 10 進数型
vbByte 17 バイト型 (Byte)
vbUserDefinedType 36 ユーザー定義型を含むバリアント型
vbArray 8192 配列

メモ

これらの定数は、Visual Basic で定義されているものです。コードの中の任意の場所で、実際の値の代わりに使用できます。

解説

VarType 関数は、定数 vbArray の値 (8192) を単独では返しません。この値は常にデータ型を表す他の値と加算されて返され、指定した変数がそのデータ型の要素を持つ配列であることを示します。定数 vbVariant は、常に定数 vbArray と加算されて返され、指定した変数がバリアント型の配列であることを示します。たとえば、整数型の要素を持つ配列を指定したときは、vbInteger + vbArray として計算された値 8194 が返されます。オブジェクトが既定プロパティを持つとき、VarType (object) はその既定プロパティの型を返します。

その他のチェック関数

IsArray 関数 変数が配列であるかどうかを調べ、結果をブール型 (Boolean) で返します。
IsDate 関数 式を日付に変換できるかどうかを調べ、結果をブール型 (Boolean) で返します。
IsEmpty 関数 変数が Empty 値かどうかを調べ、結果をブール型 (Boolean) で返します。
IsMissing 関数 プロシージャに省略可能なバリアント型 (Variant) の引数が渡されたかどうかを調べ、結果をブール型 (Boolean) で返します。
IsError 関数 式がエラー値かどうかを調べ、結果をブール型 (Boolean) で返します。
IsNull 関数 式に Null 値が含まれているかどうかを調べ、結果をブール型 (Boolean) で返します。
IsNumeric 関数 式が数値として評価できるかどうかを調べ、結果をブール型 (Boolean) で返します。
IsObject 関数 識別子がオブジェクト変数を表しているかどうかを示すブール型 (Boolean) の値を返します。

 

 

 

2000年01月01日|[VBサンプルコード]:[変数]