データ型を調べて、そのデータ型を示す数値を返す(VarType 関数)
2015/08/26
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 |
実行結果
関連記事
-
-
文字列:文字列の一部を別の文字列で置換(Replace 関数)
Replace 関数の使い方 【書式】 result = Replace ( s …
-
-
指定したセル範囲のサイズを変更(Resize プロパティ)
Resize プロパティ 指定したセル範囲のサイズ(行数や列数)を変更します。 …
-
-
VBA で正規表現を使う(RegExp オブジェクト)
RegExp オブジェクト VBA で正規表現を使うには、VBScript のR …
-
-
文字列:文字列の指定した位置から指定文字数取得(Mid 関数,MidB 関数)
Mid 関数・MidB 関数 の使い方 【書式】 result_mid = Mi …
-
-
データ型変換関数
データ型変換関数の使い方 【書式】 function ( expression …
-
-
VBA で正規表現を使う(RegExp オブジェクトのプロパティ)
RegExp オブジェクトのプロパティ RegExp オブジェクトの詳細に関して …
-
-
取り消し線を設定する(Strikethrough プロパティ)
取り消し線を設定する(Strikethrough プロパティ) Striketh …
-
-
日付時刻:経過時間を取得( Timer 関数 )
Timer 関数の使い方 【書式】 result = Timer () 【戻り値 …
-
-
文字列:定数(改行・タブ)
改行・タブの定数 これらの定数は、使用前に定義する必要はありません。コード中のど …
-
-
指定した数値に対応する選択肢の値・数式を返す(Choose 関数)
Choose 関数 の使い方 Choose 関数は、指定されたインデックス値(1 …
