VBATips

IsNumericで空白は(一見数字には見えないが)Trueとなる。

IsNumericで空白は(一見数字には見えないが)Trueとなる

IsNumeric関数は数値であればTrueを返します。
16進数や全角でもTrueとなるため、緩い関数ではあると思っているのですが、
空白もTrueになります。

空白=0と判断していると考えています。

サンプルコード

Public Sub sample_isNumeric()
    Debug.Print IsNumeric(12345)            'True
    Debug.Print IsNumeric("12345")     'True(全角数字)
    Debug.Print IsNumeric("-12345")   'True
    Debug.Print IsNumeric("1")              'True(String型の数字)
    Debug.Print IsNumeric("")               'True(空白Blank)
End Sub

注意点

  •  Application.WorksheetFunction.IsNumber関数であれば、空白はFalseです。

関連記事

 

コメント

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