
ExcelでVBAを使っているときに、「今変数の中に入っているのは何のデータ型かな?」と思うときがあります。
変数に入っているデータのデータ型を調べるには「TypeName」関数を使います。
その方法を記録します。
下図はExcel2016です。
< スポンサーリンク >
TypeName関数の構文
変数に関する情報を提供する文字列型(String)を返します。
TypeName(変数)
変数=必須。ユーザー定義型の変数以外の任意の変数を含むバリアント型(Variant)の値です。
返される文字列型
| 返される文字列 | |
|---|---|
| object type | objecttype型のオブジェクト |
| Byte | バイト型 |
| Integer | 整数型 |
| Long | 長整数型 |
| Single | 単精度浮動小数点数型 |
| Double | 倍精度浮動小数点数型 |
| Currency | 通貨型 |
| Decimal | 10進型 |
| 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

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

こんな記事も書いています
