今回はセルに入力されている値が文字列かどうかを判定する方法について紹介します。実は非常に簡単でTypeName関数を使うだけです。
TypeName関数で解決する
セルのあたりをRange(”XX”).Valueで取得し、TypeName関数の渡すと型が返却されます。戻り値が「String」の場合は文字列ということになります。
TypeName関数の戻り値一覧は公式にまとめられています。
サンプルプログラムを確認する(コピペOK)
セルに以下の値が入力されている際、TypeNameの返却値を出力してみました。注意点としては、セルに入力された数値を判定するとDoubleとなる点です。
Option Explicit
Sub sample()
Debug.Print TypeName(Range("A1").Value) ' String
Debug.Print TypeName(Range("A2").Value) ' Double ★要注意
Debug.Print TypeName(Range("A3").Value) ' Date
Debug.Print TypeName(100) ' Integer
Debug.Print TypeName(100.1) ' Double
Debug.Print TypeName(Null) ' Null
End Sub