【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関数については以下で解説しているので、気になる方は見てみてくださいね!

【Excel VBA】MsgBoxでメッセージボックスを表示する方法
更新日 : 2019年4月25日

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

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

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

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

【ExcelVBA入門】VBAで数値判定するためのIsNumeric関数の使い方とは
更新日 : 2019年9月1日

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

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

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

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

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

【ExcelVBA】VarType関数で変数の型を調べる方法
更新日 : 2019年6月11日

まとめ

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

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

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

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

新卒入社したメーカー系のIT企業で、システムエンジニアとして約5年勤務。
Webアプリ、業務アプリ開発において、要件定義、設計、インフラ、製造、テスト、運用保守など、様々な経験あり。
また、侍ブログ編集部として、これまでに200記事以上の記事を執筆。
現在はフリーランスエンジニア兼テックライターとして活動中。