データ型を調べて、そのデータ型を示す数値を返す(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 |
実行結果
関連記事
-
-
配列(多次元配列・配列の次元の変更)
多次元配列 【書式】 多次元配列の宣言 <静的配列(固定長配列)> Dim my …
-
-
VBA で正規表現を使う(RegExp オブジェクトのプロパティ)
RegExp オブジェクトのプロパティ RegExp オブジェクトの詳細に関して …
-
-
文字列:文字列の一部を別の文字列で置換(Replace 関数)
Replace 関数の使い方 【書式】 result = Replace ( s …
-
-
日付時刻:現在の日付・時刻を取得・設定(Now、Date、Time)
現在の日付・時刻を取得・設定 現在の日付・時刻を取得(Now 関数、Date 関 …
-
-
文字列:指定した文字コードに対応する文字を返す(Chr 関数)
Chr 関数の使い方 【書式】 result = Chr ( code ) 引数 …
-
-
文字列:文字列の空白を削除(Trim 関数, LTrim関数, RTrim関数)
Trim 関数・LTrim 関数・RTrim 関数の使い方 【書式】 <先頭と末 …
-
-
コレクション(Collection)オブジェクト「連想配列」
コレクション(Collection)オブジェクトの使い方 【書式】 Dim my …
-
-
日付時刻:年・月・日を取得(Year、Month、Day 関数)
日付から年・月・日を取得する関数 【書式】 date_year = Year ( …
-
-
指定した数値に対応する選択肢の値・数式を返す(Choose 関数)
Choose 関数 の使い方 Choose 関数は、指定されたインデックス値(1 …
-
-
変数が配列かどうかをチェックする( IsArray 関数 )
IsArray 関数の使い方 【書式】 result = IsArray( va …
