Excel VBA 変数のデータ型を調べる-TypeName関数

ExcelでVBAを使っているときに、「今変数の中に入っているのは何のデータ型かな?」と思うときがあります。

変数に入っているデータのデータ型を調べるには「TypeName」関数を使います。

その方法を記録します。

下図はExcel2016です。

< スポンサーリンク >





TypeName関数の構文

変数に関する情報を提供する文字列型(String)を返します。

TypeName(変数)

変数=必須。ユーザー定義型の変数以外の任意の変数を含むバリアント型(Variant)の値です。

返される文字列型

返される文字列 
object typeobjecttype型のオブジェクト
Byteバイト型
Integer整数型
Long長整数型
Single単精度浮動小数点数型
Double倍精度浮動小数点数型
Currency通貨型
Decimal10進型
Date日付型
String文字列型
Booleanブール型
Errorエラー値
Empty初期化されていません
Null有効な値がありません
Objectオブジェクト
Unknown不明な型のオブジェクト
Nothingオブジェクトを参照しないオブジェクト変数

変数が配列の場合は、返すことができる文字列(またはバリアント型の値)の空のかっこを付けた文字列が返されます。

 

「a」という変数に数値や文字列、日付、論理値を入れてイミディエイトウィンドウに表示してみます。

Sub test()
    Dim a As Variant

    a = 123
    Debug.Print a & ” : ” & TypeName(a)

    a = 12.34
    Debug.Print a & ” : ” & TypeName(a)

    a = “aiueo”
    Debug.Print a & ” : ” & TypeName(a)

    a = #11/14/2019#
    Debug.Print a & ” : ” & TypeName(a)

    a = True
    Debug.Print a & ” : ” & TypeName(a)
End Sub

ExcelVBA変数データ型

 

変数のデータ型が表示されました。

ExcelVBA変数データ型

 

 

< スポンサーリンク >