VBA:半角数値かどうか判定する方法(RegExpオブジェクト)
1.やりたいこと
半角数値かどうか判断したい。
※「IsNumeric関数」だと全角の数値も「True」が返ります。
2.「RegExp」を利用する
このオブジェクトを使うと、半角数値かどうか判定してくれます。
「RegExpオブジェクト」を利用する必要があり、以下の「参照設定」の設定が必要です。
VBAエディターで「ツール」→「参照設定」→「Microsoft VBScript Regular Expressions 5.5」にチェックをいれてください。
検索パターンは以下のようなものがあります。
| 説明 | 例 | パターン | 
| 数字 | 1234 | [0-9] | 
| 数字+小数点 | 12.56 | [0-9\.] | 
| 数字+小数点+カンマ | 1,234.56 | [0-9\.\,] | 
3.サンプルコード
以下のVBAを組み込めば半角数値かどうかの判定ができます。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Function IsNumericRegExp() As Boolean     Dim chk_reg     As New RegExp     dim chk_Data As String     chk_Data ="1234"     '//検索条件'     '//半角数値の形式のみ'     chk_reg.Pattern = "^[0-9]+$"     '//最後までチェックする'     chk_reg.Global = True     '//半角数値のみならTrueを返す'     If chk_reg.Test(chk_Data) = False Then         IsNumericRegExp = False     Else         IsNumericRegExp = True     End If End Function | 
関連記事


 
																			 
																			 
																			






