構文
構文は以下の通りです。
TypeName(変数)
解説
TypeName関数は、引数として渡した変数のデータ型を戻り値(文字列)で返す関数です。例えば、数値、文字列、オブジェクトなど、変数がどのようなデータ型であるかを確認したいときに使います。これにより、プログラム内でのデータの種類を簡単にチェックすることができます。
【一般的な戻り値】
| 戻り値 | 内容 |
| 空 (Empty) | 変数に何も設定されていない場合 |
| Null | 変数がNullである場合 |
| Boolean | TrueまたはFalseの論理値 |
| Byte | バイト型(0〜255の整数) |
| Integer | 整数型(-32,768〜32,767) |
| Long | 長い整数型(-2,147,483,648〜2,147,483,647) |
| Single | 単精度浮動小数点数(小数点を含む数値) |
| Double | 倍精度浮動小数点数(より大きな小数点を含む数値) |
| Currency | 通貨型(小数点を含む正確な数値) |
| Decimal | 十進型(正確な数値計算に使用) |
| Date | 日付型 |
| String | 文字列型 |
| Object | オブジェクト型(Excelのオブジェクトなど) |
| Error | エラー型 |
| Nothing | オブジェクトに対してNothingが設定されている場合 |
| Unknown | 未知のデータ型 |
| Range | Excelのセル範囲を表すRangeオブジェクト |
| Workbook | Excelのブックを表すWorkbookオブジェクト |
| Worksheet | Excelのシートを表すWorksheetオブジェクト |
| Variant | 変数が異なる型を含むことができるVariant型 |
| Array | 配列型 |
【フォーム内コントロールの戻り値】
| 戻り値 | 内容 |
| TextBox | テキスト入力用のコントロール → "TextBox" |
| ComboBox | ドロップダウンリスト付きのテキスト入力コントロール → "ComboBox" |
| ListBox | 複数の選択肢から選べるリストコントロール → "ListBox" |
| CommandButton | ボタンコントロール → "CommandButton" |
| Label | テキストラベルコントロール → "Label" |
| CheckBox | チェックボックス(選択/非選択) → "CheckBox" |
| OptionButton | ラジオボタン(複数の選択肢のうち1つを選択) → "OptionButton" |
| ToggleButton | 切り替えボタン → "ToggleButton" |
| Frame | 他のコントロールをグループ化するためのフレーム → "Frame" |
| MultiPage | 複数ページを切り替えて表示できるタブ → "MultiPage" |
| SpinButton | 数値を増減させるためのスピンボタン → "SpinButton" |
| ScrollBar | スクロールバーコントロール → "ScrollBar" |
| Image | 画像表示用のコントロール → "Image" |
| RefEdit | 範囲を指定するためのコントロール → "RefEdit" |
プログラミング例
具体的なプログラミング例を紹介します。
Sub データ型の確認()
' 数値型の変数を作成
Dim 数値 As Integer
数値 = 100
' 文字列型の変数を作成
Dim 文字列 As String
文字列 = "こんにちは"
' オブジェクト型の変数を作成
Dim ワークブック As Workbook
Set ワークブック = ThisWorkbook
' それぞれのデータ型をTypeName関数で表示
MsgBox "数値のデータ型: " & TypeName(数値)
MsgBox "文字列のデータ型: " & TypeName(文字列)
MsgBox "ワークブックのデータ型: " & TypeName(ワークブック)
End Sub
' 数値型の変数を作成
Dim 数値 As Integer
数値 = 100
' 文字列型の変数を作成
Dim 文字列 As String
文字列 = "こんにちは"
' オブジェクト型の変数を作成
Dim ワークブック As Workbook
Set ワークブック = ThisWorkbook
' それぞれのデータ型をTypeName関数で表示
MsgBox "数値のデータ型: " & TypeName(数値)
MsgBox "文字列のデータ型: " & TypeName(文字列)
MsgBox "ワークブックのデータ型: " & TypeName(ワークブック)
End Sub
上記のプログラムでは、数値型、文字列型、オブジェクト型の3つの変数を作成しています。それぞれの変数のデータ型をTypeName関数を使って確認し、メッセージボックスで表示しています。例えば、「数値」という変数には100という数値が入っており、TypeName関数はこれがInteger型であることを返します。同様に、文字列型やオブジェクト型の変数についても確認できます。
まとめ
TypeName関数は、変数のデータ型を文字列として返す非常に便利な関数です。特に、異なるデータ型を扱うプログラムでは、どのようなデータが変数に入っているかを確認するのに役立ちます。これにより、予期しないエラーを防ぐことができ、デバッグが容易になります。