構文
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】
コメント