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です。
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
だったら〜」と書きたいときはこうです。
If TypeName(myVar) = "Range" Then
MsgBox "セル範囲です"
End If
TypeName
はプログラムのデバッグ(動作確認)にも便利です。
複雑なコードの途中で「今この変数は何型?」と確認したいときに重宝します。
まとめ
TypeName
は、「変数の中身の種類を名前で教えてくれる先生」のような関数です。
データ型の確認やエラー防止、デバッグ時のチェックなどにとても役立ちます。