【ExcelVBA入門】文字列・数値を判定するためのTypeNameの使い方とは

こんにちは、フリーランスエンジニア兼ライターのワキザカ サンシロウです。

皆さんは、VBAで変数の型を調べる方法を知っていますか?

TypeName関数を使えば、とても簡単に変数の型をしらべることができます。

そこで今回は、

・TypeName関数の使い方

といった基礎的なことから、

・サンプルコードを使った具体的な使い方

・合わせて覚えると便利なIsNumeric関数とは

・VarType関数を使った型確認方法とは

といった応用的な方法まで、徹底的に解説します!

目次

TypeName関数の使い方

はじめに、TypeName関数の使い方について解説します。

TypeName関数は以下のように書くことで、簡単に型を調べることができます。

TypeName(値)

結果はInteger、Double、Longなど結果に型名が直接返ってきます。

何の型か直感的にわかりやすいので、とても便利な関数ですね。

TypeName関数を使ったサンプルコード

次にサンプルコードをもとに、具体的な使い方を紹介します。

Sub Test()
  Dim intNo As Integer
  Dim strMessage As String
  Dim checkNo_Result As String       '実行結果確認用 No
  Dim checkMessage_Result As String  '実行結果確認用 Message
  
  '初期値設定
  intNo = 1
  strMessage = "こんにちわ"
  
  'VarType関数実行
  checkNo_Result = TypeName(intNo)
  checkMessage_Result = TypeName(strMessage)
  
  '結果確認
  MsgBox "【intNo】をTypeNameで変換した結果:" & checkNo_Result & vbCrLf & _
         "【strMessage】をTypeNameで変換した結果:" & checkMessage_Result
  
End Sub

数値、文字列をそれぞれTypeName関数で型確認し、結果をメッセージで表示しているサンプルです。

数値はInteger、文字列はStringが返ってきているのでわかりやすいですね。

このように、TypeName関数を使えば簡単に型を確認できるのでおすすめです!

ちなみに、サンプルで書いているMsgBox関数については以下で解説しているので、気になる方は見てみてくださいね!

合わせて覚えたい数値判定をチェックする方法とは

ここまで型を確認する方法としてVarType関数の使い方を説明していきましたが、値の数値判定をしたい場合はIsNumeric関数を使うのもおすすめです!

IsNumeric関数は英語のつづりの通り、数値判定していることがわかりやすいのでコードが見やすくなります。

以下で詳しく解説しているので、気になる方は見てみてくださいね!

補足:結果を数値で返して判定する方法とは

TypeName関数は結果が文字列で返ってくるため、IF文で分岐させるときに以下のようにつづりを間違えてしまう可能性があります。

IF TypeName(“こんにちわ”) = “Strang” Then
  '文字列だった場合の処理
Else
  '文字列以外だった場合の処理
End if

そのため、結果を数値で返す方法を合わせて覚えておくと便利です。

VarType関数を使えば、型を確認した結果を数値で返すことができるので、気になる方は見てみてくださいね!

まとめ

今回は、VBAで型を確認するためのTypeName関数の使い方について解説しました!

型確認方法を知っておくと、入力チェック処理が簡単に作れるようになるので、とてもおすすめです。

使い方も簡単なので、ぜひ使ってみてくださいね!

この記事を書いた人

北海道出身の30歳で、フリーランスエンジニア兼テックライターとして活動中。新卒入社したメーカー系のIT企業で、システムエンジニアとして約5年勤務。

Webアプリ、業務アプリ開発において、要件定義 ~ 運用保守まで様々な経験あり。また3歳の娘がいる1児のパパで、日々娘との時間を確保するために仕事を頑張っています!
侍エンジニアでは、【誰でもわかるレベルのわかりやすさ】を意識して、記事を執筆中。

目次