VBA オブジェクトや変数の種類を調べる TypeName関数 VarType関数

スポンサーリンク

TypeName【タイプネーム】関数

オブジェクトや変数の種類を調べるには、TypeName【タイプネーム】関数を使用します。

TypeName【タイプネーム】関数の書式と引数の説明

TypeName(VarName)
【戻り値】 文字列型 (String)

  • VarName【バーネーム】(必須)
    種類を判別したい、オブジェクトやバリアント型またはオブジェクト型の変数を指定します。

※引数VarName【バーネーム】にバリアント型の変数を指定した場合は、変数に代入されているデータやオブジェクトの種類を表す文字列を返します。何も代入されていない場合は「Empty【エンプティ】」を返します。
※引数VarName【バーネーム】にオブジェクト型の変数を指定した場合は、変数に代入されているオブジェクトの種類を表す文字列を返します。何も代入されていない場合は「Nothing【ナッシング】」を返します。
※Empty【エンプティ】とは、数値の場合は「0」を表し、文字列の場合は「長さ0の文字列」を表します。
※Nothing【ナッシング】とは、オブジェクト型変数にオブジェクトが格納されていない状態を表します。

変数の種類を表す主な戻り値

文字列 内容
Integer 整数型
Long 長整数型
Single 単精度浮遊小数点数型
Double 倍精度浮遊小数点数型
Date 日付型
String 文字列型
Boolean ブール型
Error エラー値
Empty バリアント型の初期値
Null 無効な値

オブジェクトの種類を表す主な戻り値

文字列 内容
WorkBook ブック
Worksheet シート
Range セル
Chart グラフ
TextBox テキストボックス
ActiveXコントロール
Label ラベル
ActiveXコントロール
Commmand
Button
コマンドボタン
ActiveXコントロール
Object オブジェクト
UnKnown 種類が不明なオブジェクト
Nothing オブジェクト変数の初期化

引数VarName【バーネーム】に配列変数を指定した場合は、戻り値に「()」が付きます。例えば、文字列型の配列変数の場合は「String()」が返ります。

コード例

Sub 種類()
Dim 空 As Variant
Dim 文字 As Variant
Dim 数値 As Variant
Dim 空2 As Object
Dim ブック As Object
Dim セル As Object
文字 = "ExcelVBA"
数値 = 12345
Set ブック = ActiveWorkbook
Set セル = Range("A1")
MsgBox _
"空は" & TypeName(空) & vbCrLf & _
"文字は" & TypeName(文字) & vbCrLf & _
"数値は" & TypeName(数値) & vbCrLf & _
"空2は" & TypeName(空2) & vbCrLf & _
"ブックは" & TypeName(ブック) & vbCrLf & _
"セルは" & TypeName(セル)
End Sub

実行結果


VarType【バ-タイプ】関数

バリアント型変数の内部処理形式を調べるには、VarType【バ-タイプ】関数を使用します。

VarType【バ-タイプ】関数の書式と引数の説明

VarType(varname)
【戻り値】 整数型 (Integer)

  • VarName【バーネーム】(必須)
    任意の変数名を指定します。

バリアント型変数には、すべてのデータ型の値を格納できますが、格納された値に合わせて内部で自動的に型変換が行われ
内部処理形式が決まります。その内部処理形式を調べるのがValType【バータイプ】関数です。

TypeName【タイプネーム】関数は、変数の種類を表す「文字列」を返しますが、VarType【バータイプ】関数は、内部処理形式を表す「整数値」を返します。

VarType関数が返す主な整数値とその内容

定数 内容
0 vbEmpty Empty 値 (未初期化)
1 vbNull Null 値 (無効な値)
2 vbInteger 整数型
3 vbLong 長整数型 (Long)
4 vbSingle 単精度浮動小数点数型 (Single)
5 vbDouble 倍精度浮動小数点数型 (Double)
6 vbCurrency 通貨型 (Currency)
7 vbDate 日付型 (Date)
8 vbString 文字列型
9 vbObject オートメーション オブジェクト
10 vbError エラー型
11 vbBoolean ブール型 (Boolean)
12 vbVariant バリアント型 (Variant) (バリアント型配列にのみ使用)
13 vbDataObject 非オートメーション オブジェクト
17 vbByte バイト型
8192 vbArray 配列 (Array)

※配列の場合は、他のデータ型を表す整数値との合計値が返されます。例えば、文字列型の配列の場合は、「8(vbString)」+「8192(vbArray)」=「8200」が返されます。


以上で、TypeName【タイプネーム】関数 VarType【バータイプ】関数についての解説を終了します。ありがとうございました。

データ型を操作する関数一覧表

関数名がリンクになっていて
詳細説明ページが開きます
関数名内容
CByte数値や文字列をバイト型に変換
CBool数値や文字列をブール型に変換
CInt数値や文字列を整数型の値に変換
CSng数値や文字列を単精度浮動小数点数型に変換
CDbl数値や文字列を倍精度浮遊小数点数型に変換
CCur数値や文字列を通貨型に変換
CStr数値や日付リテラルを文字列型の値に変換
CLngデータ型を長整数型に変換
CDateデータ型を日付型に変換
Val文字列を数値に変換
IsNumericデータが数値かを判定する
IsDateデータが日付や時刻データかを判定する
IsArray変数が配列変数かを判定する
IsNull値がNullかを判定する
IsEmpty値がEmptyかを判定する
IsObject値がオブジェクトかを判定する
IsError値がエラー値かを判定する
TypeNameオブジェクトや変数の種類を調べる
VarType変数の内部処理形式を調べる

スポンサーリンク

関連記事・広告