【EXCEL VBA】セルの値が数値かどうか判定したい

今回はセルに入力されている値が数値かどうかを判定する方法について紹介します。実は非常に簡単でTypeName関数を使うだけです。

TypeName関数の戻り値一覧は公式にまとめられています。

サンプルプログラム

セルに以下の値が入力されている際、TypeNameの返却値を出力してみました。整数、負の数、小数点あり、指数表記はDouble型と判定するようです。セルから取得した型とVBA上で生成した型を比較する時は要注意かもしれません。

Option Explicit

Sub sample()
    
    Debug.Print TypeName(Range("A1").Value)     ' Double
    Debug.Print TypeName(Range("A2").Value)     ' Double
    Debug.Print TypeName(Range("A3").Value)     ' Double
    Debug.Print TypeName(Range("A4").Value)     ' Double
    Debug.Print TypeName(12345)                 ' Integer

End Sub