VBAで変数の型を調べるにはどうすればいいの?
VarType関数の使い方について知りたい。
こんにちは、フリーランスエンジニア兼ライターのワキザカ サンシロウです。
皆さんは、VBAで変数の型を調べる方法を知っていますか?VarType関数を使えば、とても簡単に変数の型を調べることができます。そこで今回は、VarType関数の基礎的な内容や使い方について紹介いたします。
この記事はこんな人のために書きました。
- VBAで使われている変数の型を調べたい
- VarType関数の具体的な使い方について知っておきたい
VarType関数についてわかりやすく解説していますので、ぜひ参考にしてください。
VBAのVarType関数とは
はじめに、VarType関数の使い方について解説します。
VarType関数は以下のように書くことで、簡単に型を調べることができます。
VarType(値)
引数に使う値によって、実行結果として返ってくる数値が違うので表形式でまとめました。
No | 引数に入れる値 | 実行結果 |
1 | Integer | 2 |
2 | Double | 5 |
3 | String | 8 |
4 | Boolean | 11 |
5 | Date | 7 |
6 | Object | 9 |
7 | Variant | 0 |
8 | String() | 8200 |
9 | Integer() | 8194 |
VarType関数の使い方
では実際にVarType関数で変数の型を確認してみましょう。
型確認用サンプルコード:
Sub Test()
Dim a As Integer
Dim b As Double
Dim c As String
Dim d As Boolean
Dim e As Date
Dim f As Object
Dim g As Variant
Dim h() As String
Dim i() As Integer
MsgBox "Integer:" & VarType(a) & vbCrLf & _
"Double:" & VarType(b) & vbCrLf & _
"String:" & VarType(c) & vbCrLf & _
"Boolean:" & VarType(d) & vbCrLf & _
"Date:" & VarType(e) & vbCrLf & _
"Object:" & VarType(f) & vbCrLf & _
"Variant:" & VarType(g) & vbCrLf & _
"配列_String:" & VarType(h) & vbCrLf & _
"配列_Integer:" & VarType(i) & vbCrLf _
End Sub
実行結果:
![]()
全て一気に覚える必要はないですが、文字列、数値などよく使うものは覚えておくのがおすすめです。
次にVarType関数の具体的な使い方を紹介します。
Sub Test()
Dim intNo As Integer
Dim strMessage As String
Dim checkNo_Result As Integer '実行結果確認用 No
Dim checkMessage_Result As Integer '実行結果確認用 Message
'初期値設定
intNo = 1
strMessage = "こんにちわ"
'VarType関数実行
checkNo_Result = VarType(intNo)
checkMessage_Result = VarType(strMessage)
'結果確認
MsgBox "【intNo】をVarTypeで変換した結果:" & checkNo_Result & vbCrLf & _
"【strMessage】をVarTypeで変換した結果:" & checkMessage_Result
End Sub
Integer型の数値、String型の文字列をそれぞれ変数で設定し、VarType関数で確認した結果をMsgbox関数でメッセージ表示しています。
このように、VarType関数を使えば簡単に型を確認できるのでおすすめです!ちなみに、サンプルで書いているMsgBox関数については以下で解説しているので、気になる方は見てみてくださいね!
【Excel VBA】MsgBoxでメッセージボックスを表示する方法
更新日 : 2019年4月25日
合わせて覚えたい数値判定をチェックする方法とは
ここまで型を確認する方法としてVarType関数の使い方を説明していきましたが、値の数値判定をしたい場合はIsNumeric関数を使うのもおすすめです!
IsNumeric関数は英語のつづりの通り、数値判定していることがわかりやすいのでコードが見やすくなります。
以下で詳しく解説しているので、気になる方は見てみてくださいね!
【ExcelVBA入門】VBAで数値判定するためのIsNumeric関数の使い方とは
更新日 : 2019年9月1日
補足:結果を文字列で返して判定する方法とは
VarType関数は型を簡単に確認することができるので便利なのですが、使ったことがない方にとっては結果が数値で返ってくるので処理が伝わりづらいこともあります。
そんな時は、TypeName関数を使うのもおすすめです!
以下で詳しく解説しているので、気になる方は見てみてくださいね!
【ExcelVBA入門】文字列・数値を判定するためのTypeNameの使い方とは
更新日 : 2018年8月21日
まとめ
今回は、VBAで型を確認するためのVarType関数の使い方について解説しました!
数値、文字列の入力ミスを防ぐため、型確認方法を知っておくとエラーチェックがしやすくなるので便利です。
使い方も簡単なので、ぜひ使ってみてくださいね!