スライドショースライドショー

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

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

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

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

そこで今回は、

・TypeName関数の使い方

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

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

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

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

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

TypeName関数の使い方

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

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

TypeName(値)

結果はIntegerDoubleLongなど結果に型名が直接返ってきます。

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

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

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

フリーランスエンジニア兼ライターのワキザカ サンシロウです。
ExcelVBAの自動化ツール開発、WEB開発をメインにエンジニア業務をこなしつつ、サムライエンジニアにてライター業務をしております。

プログラミングをこれからやってみたい方に向けて、ためになる記事を全力で書いていきますので宜しくお願い致します!

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説