このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【VBA】変数のデータ型を調べる方法

【VBA】変数のデータ型を調べる方法

今回はVBAで変数やオブジェクトの型を調べる2つの方法を紹介します。

VBAが難しいと感じたら
VBAのプロに代わりに作ってもらうのはいかがでしょうか?
ココナラでVBAの作成請負を受け付けています。お気軽にご相談ください。

1. 変数のデータ型を調べる方法(TypeName関数)

Sub CheckTypeName()
    Dim intA As Integer
    Dim lngB As Long
    Dim sngC As Single
    Dim dblD As Double
    Dim crrE As Currency
    Dim dtF As Date
 
    Debug.Print TypeName(intA) 'Integer
    Debug.Print TypeName(lngB) 'Long
    Debug.Print TypeName(sngC) 'Single
    Debug.Print TypeName(dblD) 'Double
    Debug.Print TypeName(crrE) 'Currency
    Debug.Print TypeName(dtF) 'Date
End Sub

1つ目の方法はTypeName関数を使用する方法です。

TypeName関数は引数に与えられたデータの型を文字列で返します。

2. 変数のデータ型を調べる方法(VarType関数)

Sub CheckVarType()
 
    Dim intA As Integer
    Dim lngB As Long
    Dim sngC As Single
    Dim dblD As Double
    Dim crrE As Currency
    Dim dtF As Date
 
    Debug.Print VarType(intA) '2(vbInteger)
    Debug.Print VarType(lngB) '3(vbLong)
    Debug.Print VarType(sngC) '4(vbSingle)
    Debug.Print VarType(dblD) '5(vbDouble)
    Debug.Print VarType(crrE) '6(vbCurrency)
    Debug.Print VarType(dtF) '7(vbDate)
End Sub

2つ目の方法はVarType関数を使用する方法です。

VarType関数は引数に与えられたデータの型を数値で返します。

この数値には下の表のようにvbから始まる定数が用意されています。

例えば、If VarType(変数) = vbInteger Thenなどとすれば変数の型がIntegerの場合のみ実行、といった処理が書けます。

定数データ型
vbEmpty0空 (未初期化)
vbNull1Null (有効なデータではない)
vbInteger2Integer型
vbLong3Long型(長整数)
vbSingle4Single型(単精度浮動小数点数)
vbDouble5Double型(倍精度浮動小数点数)
vbCurrency6通貨型
vbDate7日付型
vbString8String型
vbObject9Object
vbError10エラー値
vbBoolean11Boolean型
vbVariant12Variant型 (バリアントの 配列でのみ使用される)
vbDataObject13データ アクセス オブジェクト
vbDecimal14Decimal型(10進値)
vbByte17Byte型
vbLongLong20LongPtr型(64 ビット プラットフォームでのみ有効)
vbUserDefinedType36ユーザー定義型を含むバリアント

VBAが難しいと感じたら
VBAのプロに代わりに作ってもらうのはいかがでしょうか?
ココナラでVBAの作成請負を受け付けています。お気軽にご相談ください。

VBA

Posted by やろまい