VBAで数値かどうかを判定する方法をわかりやすく解説!

こんにちは!大阪市を拠点に活動している『縁紡ぐ』の稲垣です。
SWELLを使ったホームページ制作や、Excel、ACCESS、RPAなどのシステム開発を行っています。
また、Excel、Word、Outlookの研修や、情報セキュリティ研修も行っています。身近なITの相談相手になりたいと思っています。
お気軽にお問い合わせください。
今回はExcel VBAを使って、入力された値が数値かどうかを簡単に判定する方法についてご紹介します。入力値のチェックは、データの整合性を保つのにとても役立ちますので、ぜひ使えるようになってくださいね!
そもそも、数値判定って何?
数値判定って聞くと難しそうに聞こえるかもしれませんが、実はとても簡単です。例えば、ユーザーがフォームにデータを入力する時、そのデータが数値かどうかを確認することです。これを行うことで、誤ったデータが入力されるのを防ぐことができます。
小さなシステムでもこの入力値チェックはとても大切なことです。
VBAのIsNumeric
関数って?
VBAには、数値かどうかを判定してくれる便利な『IsNumeric』という関数があります。数値ならTrue、そうじゃなければFalseを返してくれるんです。
IsNumeric
関数の使い方
基本の構文からご紹介します
IsNumeric(判定したい値)
例えば、IsNumeric(“123”)はTrueを返し、IsNumeric(“ABC”)はFalseを返します。
数値判定関数の作成
数値判定を行う関数を作成は次のようなコードで作成ができます。
Function 数値判定(値 As Variant) As Boolean
数値判定 = IsNumeric(値)
End Function
数値判定関数の使い方
この関数を使って実際に数値判定を行う方法です。
Sub Test()
Dim 値1 As Variant
Dim 値2 As Variant
値1 = "123"
値2 = "ABC"
If 数値判定(値1) Then
MsgBox "値1は数値です"
Else
MsgBox "値1は数値ではありません"
End If
If 数値判定(値2) Then
MsgBox "値2は数値です"
Else
MsgBox "値2は数値ではありません"
End If
End Sub
コードの説明
先ほど作成した、数値判定という関数を使っています。
テストで8行目14行目で先ほど作成した、数値判定の関数を利用しています。数値判定の結果は、TrueかFalseのboolean型で返ってきますので、Trueの場合は、数値とですと表示しています。
まとめ
この記事では、VBAのIsNumeric
関数を使って数値かどうかを判定する方法を紹介しました。これを使えば、ユーザー入力の検証やデータ処理が楽になります。ぜひ、活用してみてくださいね!

稲垣
- Excel、ACCESSでのシステム開発が得意
- ITスキルを共有し実践的に学びながら成長する人を見るのが幸せ
- 自家焙煎するほどのコーヒー好き
- 使用言語 VBA、Python、Javascript、Java、HTML、CSS etc.
- 保有資格 Kintoneアソシエイト、日商簿記検定2級、マンション管理士、管理業務主任者、情報セキュリティマネジメント、ExcelVBA etc.
- 業務フロー図の作成や業務時間分析を通して、効率化ポイントを探る人
- お客様にとって本当に良いことかを第一に考える人
コメント