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

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

2024年8月11日

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

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

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上級者を目指したい人にはパーフェクトExcel VBA一択です。
この本を読み切れば間違いなくVBA上級者になれます。

created by Rinker
技術評論社
¥3,608 (2024/11/23 15:08:04時点 Amazon調べ-詳細)
VBAが難しいと感じたら
ココナラにてVBAの作成依頼を受け付けています。
ご依頼・ご相談はこちらから

VBA

Posted by やろまい