Excel VBA

A handy function that tells you whether your variable holds a number, text, or something else by name.

TypeName

TypeNameとは?

ExcelのVBAで「この変数にはどんな種類のデータが入っているのか?」を調べたいときに使う関数です。

数字なのか、文字列なのか、セルのRangeなのか、オブジェクトなのかを、人間が読める名前で教えてくれます。

たとえば、TypeNameを使うと、プログラムの途中で「この変数、思ってた型じゃないな?」というチェックが簡単にできます。

使い方の基本

こう書けばOKです。

VBA

Sub SampleTypeName()
    Dim myValue As Variant
    myValue = "Hello"
    MsgBox TypeName(myValue)
End Sub

このコードを実行すると、メッセージボックスに 「String」 と表示されます。

これは、「この変数は文字列ですよ」という意味です。

よくある出力例

Integer
整数
Double
小数を含む数値
String
文字列
Boolean
True/False
Range
セル範囲(Excelのオブジェクト)
Object
何らかのオブジェクト(詳しくはSetで代入したもの)

ちょっとしたコツ

TypeNameは 文字列で結果を返す ので、If文などで比較できます。

たとえば「もし変数がRangeだったら〜」と書きたいときはこうです。

JavaScript

If TypeName(myVar) = "Range" Then
    MsgBox "セル範囲です"
End If

TypeNameはプログラムのデバッグ(動作確認)にも便利です。

複雑なコードの途中で「今この変数は何型?」と確認したいときに重宝します。

まとめ

TypeNameは、「変数の中身の種類を名前で教えてくれる先生」のような関数です。

データ型の確認やエラー防止、デバッグ時のチェックなどにとても役立ちます。