関数・メソッド

数値データかどうか判断する【IsNumeric関数】【ExcelVBA】

構文

IsNumeric(Expression)  As Boolean

Expression・・・数値として評価する文字列
戻り値 ・・・・・Boolean型 数値データならTrue/数値データ以外はFalse
Expressionに指定したが数値型かどうか判別します。
(数値データ以外はFalseとなります)

IsNumeric関数のサンプルコード

Public Sub sample_isNumeric()

    '■数字
    Debug.Print IsNumeric(12345)            'True
    Debug.Print IsNumeric("12345")     'True(全角数字)
    Debug.Print IsNumeric(-12345)           'True(マイナスの値)
    Debug.Print IsNumeric("-12345")   'True
    Debug.Print IsNumeric("1")              'True(String型の数字)
    Debug.Print IsNumeric(1.5)              'True(小数点)
    Debug.Print IsNumeric("10,000")         'True(桁区切り)
    
    '■通貨
    Debug.Print IsNumeric("\10,000")    'True
    Debug.Print IsNumeric("10,000円")   'False
    
    '■数字と文字列
    Debug.Print IsNumeric("abc")        'False
    Debug.Print IsNumeric("あああ")     'False
    Debug.Print IsNumeric("100a")       'False
    Debug.Print IsNumeric("a100")       'False
    
    '■日付
    Debug.Print IsNumeric("2021/01/23")     'False
    Debug.Print IsNumeric("令和03/01/23")   'False
    
    '■特殊データ
    Debug.Print IsNumeric("1 2 3")          'False(空白が入るとNG)
    Debug.Print IsNumeric("&H0101")         'True(16進数)
    
End Sub

注意点

  • 数字かどうか判断する関数ではありますが、全角文字や文字列型の数字も Trueとなります。
  • 半角数字だけ処理をしたい場合は、全角文字なのか半角文字なのかを事前にチェックした上、IsNumeric関数で判断してください。

関連記事

時刻データかどうか判断する【IsDate関数応用】【ExcelVBA】
日付データかどうか判断する【IsDate関数】【ExcelVBA】
配列かどうか調べる【IsArray関数】【ExcelVBA】

 

コメント

タイトルとURLをコピーしました