【ExcelVBA入門】VBAで数値判定するためのIsNumeric関数の使い方とは

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

皆さんは、VBAで数値を判定する方法を知っていますか? 金額や個数などを計算に使う場合、入力された値が文字列だとエラーになってしまうケースはよくありますよね。

そこで今回は、

  • VBAで数値判定するためのIsNumeric関数の使い方
  • IsNumeric関数を使ったサンプルコード
  • 合わせて覚えると便利なInputBoxとは

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

IsNumeric関数を使って数値判定する方法とは

最初に、IsNumeric関数を使った数値判定方法を解説します。IsNumeric関数は以下のように書くことで、True or Falseを返すことができます。

IsNumeric(文字列 or 数値)

If文を使って以下のように書くケースが多いので、以下の型で使い方を覚えるのがおすすめです。

If IsNumeric(文字列 or 数値) Then
  '数値の場合の処理

Else
  '数値以外の場合の処理

End If

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

VBAのIf文を使いこなそう! 条件分岐の基本をスッキリ解説
更新日 : 2019年9月26日

サンプルコード

次に、サンプルコードを使って具体的な使い方を解説します。

サンプルコード:

Sub Test()

  'InputBoxを使って簡単な入力画面を用意
  Dim Num As Variant
  Num = Application.InputBox(Prompt:="数値を入力してください")
  
  'If文で数値、数値以外の場合それぞれメッセージを表示
  If IsNumeric(Num) Then
    '数値の場合の処理
    MsgBox "数値の入力が確認できました。", vbInformation
  Else
    '数値以外の場合の処理
    MsgBox "数値を入力してください。", vbCritical
  End If

End Sub

サンプルコードを実行すると以下のような入力画面が出てきます。

InputBoxを使った入力画面:

文字列、数値を入力するとそれぞれ以下のようにメッセージを表示するようサンプルを作っています。

文字列を入力した場合:

数値を入力した場合:

このように、IsNumeric関数を使えば簡単に数値判定をすることができます。今回使用したInputBoxの使い方に関しては以下で詳しく解説しているので、気になる方は見てみてくださいね!

【ExcelVBA入門】入力ダイアログを作るためのInputBoxの使い方とは
更新日 : 2018年8月2日

まとめ

今回は、VBAで数値判定をする方法について解説しました。金額、個数など数値を扱うことが多いExcelだからこそ、IsNumeric関数はよく使います。使い方も簡単なので、ぜひ使ってみてくださいね!

LINEで送る
Pocket

SEからWebエンジニアへ転職した理由

侍エンジニア塾卒業生の小池さんは、以前は社内SEとして約5年ほど勤務していました。しかし業務内容は社内のヘルプデスク対応など、プログラムを書く仕事は全くなかったそうです。

SEながらプログラムを書けない現状に「将来仕事がなくなるんじゃないか」と不安を感じ、プログラミング学習を決意。

弊社スクールで学習し、無事ベンチャー企業のプログラマーとして転職に成功しました。そんな小池さんの学習法や転職体験談を伺いましたので、是非ご覧ください。

「プログラミングができないSEは仕事がなくなる」不安を感じたSEが未経験から転職成功するまで
更新日 : 2019年10月7日

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

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

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

おすすめコンテンツ

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

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