【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関数はよく使います。使い方も簡単なので、ぜひ使ってみてくださいね!

この記事を書いた人

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

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

目次