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

サンプルコード

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

サンプルコード:

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

まとめ

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

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次