りゅう
はじめに
ユーザが数字を入力すると想定するプログラムがあった場合に、文字列が入力されると困りますよね。
そういった場合に、データ型を調べる必要があります。
今回は、データ型の調べ方について解説します。
この記事を読むメリット
- データ型を調べる際に使用する「VarType関数」の構文、戻り値について解説します。
- VarTypeの細かい注意点なども解説します。
VarType関数
データ型を調べる際には、VarType関数を使用します。
構文
構文
VarType(varname)
引数
# | 引数 | 必須 | 詳細 |
1 | varname | ○ | データ型を調べたい変数を指定します。 ※ユーザ定義型は指定できません。 |
戻り値
# | 値 | 定数 | 詳細 |
1 | 0 | vbEmpty | Empty値 |
2 | 1 | vbNull | Null値 |
3 | 2 | vbInteger | Integer型(整数型) |
4 | 3 | vbLong | Long型(長整数型) |
5 | 1280 | vbLongLong | LongLong型 |
6 | 4 | vbSingle | Single型 |
7 | 5 | vbDouble | Double型 |
8 | 6 | vbCurrency | Currency型 |
9 | 7 | vbDate | Date型 |
10 | 8 | vbString | String型 |
11 | 9 | vbObject | Object型(オブジェクト) |
12 | 10 | vbError | エラー値 |
13 | 11 | vbBoolean | Boolean型 |
14 | 12 | vbVariant | Variant型 |
15 | 13 | vbDataObject | 非OLEオートメーションオブジェクト |
16 | 14 | vbDecimal | 10進数型 |
17 | 17 | vbByte | バイト型 |
18 | 8192 | vbArray | 配列 |
配列の場合は戻り値が特殊で、データ型 + vbArray(8192)が戻り値として返却されます。
例えば、Variant型の配列の場合は8204(vbVariant(12) + vbArray(8192))が返却されます。
めい
データ型を調べたいときは、配列のパターンも意識したコーディングができると完璧だね!
サンプルコード
ここからは、サンプルコードを踏まえて解説していきます。
Variantの型調査
サンプルコード
サンプルコード
Option Explicit
Public Sub testVarType()
Dim var As Variant ' Variant型変数
var = "AAA"
MsgBox VarType(var) ' 出力結果:8 (vbString)
var = 100
MsgBox VarType(var) ' 出力結果:2 (vbInteger)
var = Array(1, 2, 3)
MsgBox VarType(var) ' 出力結果:8194 (vbVariant + vbArray)
End Sub
りゅう
VarType関数は、主にVariantの内部のデータ型を調べる際に使用されます。
上記サンプルは、Varianth型変数に文字を入れた場合、数値を入れた場合の遷移を試すコードです。
上記サンプルは、Varianth型変数に文字を入れた場合、数値を入れた場合の遷移を試すコードです。
VarType関数の使用イメージ
サンプルコード
サンプルコード
Option Explicit
Public Sub testVarType()
Dim var As Variant ' Variant型変数
' 数値チェック
If Not VarType(var) = vbInteger Then
MsgBox "数値を入力してください。"
Exit Sub
End If
' ...
End Sub
めい
個人的によく使われると思うのが、数値 or 数値ではないの判定です。
上記は数値以外が入力された場合、処理を終了するプログラムです。
上記は数値以外が入力された場合、処理を終了するプログラムです。
最後に
いかがでしたでしょうか。
バグやエラーを回避するために、チェック処理は重要となります。
この記事が、読者さまのお力になれれば嬉しいです!
コメント