こんにちは、フリーランスエンジニア兼ライターのワキザカ サンシロウです。
皆さんは、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関数はよく使います。使い方も簡単なので、ぜひ使ってみてくださいね!