構文
TypeName(varname)
varname・・・任意の「変数」・「オブジェクト」・「値」を指定します。
戻り値 ・・・文字列型 (String)
戻り値 ・・・文字列型 (String)
変数の情報やオブジェクト・変数の種類(データ型)を文字列で取得します。
戻り値の一覧
変数型はデータ型一覧にあるような形なのでわかりやすいです。
オブジェクト型になると無数にある為、代表的なものをご紹介します。
| データ型種類 | 文字列 | 説明 |
| 変数型 | “Boolean” | ブール型(Boolean) |
| “Byte” | バイト型(Byte) | |
| “Integer” | 整数型(Integer) | |
| “Long” | 長整数型(Long) | |
| “Single” | 単精度浮動小数点数型(Single) | |
| “Double” | 倍精度浮動小数点数型(Double) | |
| “Currency” | 通貨型(Currency) | |
| “Date” | 日付型(Date) | |
| “String” | 文字列型(String) | |
| ”Decimal” | 10進数型 | |
| オブジェクト型 | “Range” | セル範囲 |
| “Workbook” | ワークブック | |
| “Workbooks” | ワークブックコレクション | |
| “WorkSheets” | ワークシートコレクション | |
| “WorkSheet” | ワークシート | |
| “Dictionary” | Dictionaryクラス | |
| “TextBox” | ActiveXコントロールのテキストボックス | |
| “CommandButton” | ActiveXコントロールのコマンドボタン | |
| “Chart” | グラフ | |
| “FileSystemObject” | FileSystemObjectクラス | |
| “Object” | オブジェクト | |
| その他 | ”Empty” | 未初期化のデータ (Variant型やRange型等) |
| ”Null” | 無効な値(演算が不明な場合など) | |
| ”UnKnown” | オブジェクトの種類が不明 | |
| ”Nothing” | オブジェクトを参照していないオブジェクト (オブジェクトの初期値) |
コードサンプル
Public Sub test()
Dim var As Variant
'■通常の変数型
var = True
MsgBox TypeName(var) '"Boolean"
var = 1000
MsgBox TypeName(var) '"Integer"
var = 1.1
MsgBox TypeName(var) '"Double"
var = "VBA-Create"
MsgBox TypeName(var) '"String"
var = Now
MsgBox TypeName(var) '"Date"
'■オブジェクト型
Dim obj As Object
MsgBox TypeName(obj) '"Nothing"
Set obj = ThisWorkbook
MsgBox TypeName(obj) '"Workbook"
Set obj = Range("A1:A5")
MsgBox TypeName(obj) '"Range"
'■配列型
var = Array(1, 2, 3, 4, 5)
MsgBox TypeName(var) '"Variant()"
Dim i(5) As Long
MsgBox TypeName(i) '"Long()"
Dim v() As Variant
MsgBox TypeName(v) '"Variant()"
End Sub
注意点
- 配列の場合は文字列の後に「()」を付与します。(String型の配列の場合→String())
- 型情報を数値で判別する場合は「VarType 関数」を使用します。
使い方例
指定したデータ型が想定しているデータ型と違った場合、エラーが出る場合があります。
不具合発生させないための、エラー回避に使います。
関連記事
【VBA基本】変数のデータ型一覧
配列の宣言(静的/動的/1次元/2次元)【ExcelVBA】
配列かどうか調べる【IsArray関数】【ExcelVBA】
指定した要素で配列を作成【Array関数】【ExcelVBA】




コメント