VarType 関数 の使い方
VarType 関数は、引数に、データ型を調べたい値や変数を指定するとそのデータ型を示す数値を返します。
【書式】
result = VarType ( varname )
引数・戻り値
- varname ・・・ 調べたい値や変数を指定します。
- result ・・・ 引数 varname のデータ型を表す数値
(戻り値は、以下「VarType 関数の戻り値一覧」を参照)。
VarType 関数の戻り値一覧
戻り値 (数値) |
定数 | 内容 |
0 | vbEmpty | Empty 値 (未初期化) |
1 | vbNull | Null 値 (無効な値) |
2 | vbInteger | 整数型 (Integer) |
3 | vbLong | 長整数型 (Long) |
4 | vbSingle | 単精度浮動小数点数型 (Single) |
5 | vbDouble | 倍精度浮動小数点数型 (Double) |
6 | vbCurrency | 通貨型 (Currency) |
7 | vbDate | 日付型 (Date) |
8 | vbString | 文字列型 (String) |
9 | vbObject | オブジェクト |
10 | vbError | エラー値 |
11 | vbBoolean | ブール型 (Boolean) |
12 | vbVariant | バリアント型 (Variant) (バリアント型配列にのみ使用) |
13 | vbDataObject | 非OLE オートメーション オブジェクト |
14 | vbDecimal | 10 進数型 |
17 | vbByte | バイト型 (Byte) |
20 | vbLongLong | LongLong 型の整数 (64 ビット プラットフォーム上でのみ有効) |
36 | vbUserDefinedType | ユーザー定義型を含むバリアント型 |
8192 | vbArray | 配列 |
引数 varname が、バリアント型変数の場合は、内部処理形式を識別する数値を返します。
VarType 関数は、定数 vbArray の値 (8192) を単独では返しません。この値は常にデータ型を表す他の値と加算されて返され、指定した変数がそのデータ型の要素を持つ配列であることを示します。
(例)整数型の要素を持つ配列を指定した場合
vbInteger + vbArray として計算された値 8194 が返されます。
定数 vbVariant は、常に定数 vbArray と加算されて返され、指定した変数がバリアント型の配列であることを示します。 ⇒ vbVariant + vbArray として計算された値 8204 が返されます。
VarType 関数 の使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
Sub Sample_vartype() Dim myStr As String, myInt As Integer, myLng As Long Dim myDbl As Double, mySgl As Single, myBol As Boolean Dim myObj As Object, myDat As Date, myCur As Currency Dim myByt As Byte, myWks As Worksheet Dim myVal1, myVal2, myEmp, myNull Dim myArray1() As Variant, myArray2() As Long Set myWks = ActiveSheet myVal1 = 123 myVal2 = CDec(12500) myNull = Null Debug.Print VarType(myEmp) 'Empty(未定義) Debug.Print VarType(myNull) 'Null 値 Debug.Print VarType(myInt) '整数型(Integer) Debug.Print VarType(myVal1) '整数型(Integer) Debug.Print VarType(myLng) '長整数型(Long) Debug.Print VarType(mySgl) '単精度浮動小数点型(Single) Debug.Print VarType(myDbl) '倍精度浮動小数点型(Double) Debug.Print VarType(myCur) '通貨型(Currency) Debug.Print VarType(myDat) '日付型(Date) Debug.Print VarType(myStr) '文字列型(String) Debug.Print VarType(myObj) 'オブジェクト Debug.Print VarType(myWks) 'オブジェクト(WorkSheet) Debug.Print VarType(myBol) 'ブール型(Boolean) Debug.Print VarType(myVal2) '10進数型 Debug.Print VarType(myByt) 'バイト型(Byte) Debug.Print VarType(myArray1) '配列(バリアント型) Debug.Print VarType(myArray2) '配列(長整数型) End Sub |