スライドショー

【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だけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

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

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

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

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

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

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

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

おすすめコンテンツ

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

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