• ベストアンサー

VBAにてデータが数字か文字かを判定するには

VBAにてデータが数字か文字かを判定するには、 どうすれば良いのでしょうか? 文字数は任意で決まっていません。 123 ← 数字 あい ← 文字 1F  ← 文字 G  ← 文字

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 数字か文字かなら、IsNumeric でよいと思いますが、数値か文字かでしたら、VarType を使います。私の場合は、IsNumericは、めったに使いません。VarTypeのほうが多いですね。IsNumeric は、文字通り、文字か数字かで、文字列書式の数字も含まれます。なお、VBAでは、数字は、数値型に型キャストされますので、特に問題は発生しません。 ご参考までに。 Sub Test()  If VarType(Range("A1").Value) = vbDouble Then   MsgBox "数値"  ElseIf VarType(Range("A1").Value) = vbString Then   MsgBox "文字列"  Else   MsgBox "その他" '代表的なものはエラー値です  End If End Sub ----------------------------------------- こちらの場合は、全角数字も、数字として扱われます。 Sub Test2()  If IsNumeric(Range("A1").Value) Then    MsgBox "数字"  Else    MsgBox "数字ではない"  End If End Sub

VitaminBB
質問者

お礼

回答ありがとうございます。 大変良く分かりました。

その他の回答 (2)

noname#145184
noname#145184
回答No.2

IsNumeric関数で良いと思います。 使い方はヘルプをご参照ください。

VitaminBB
質問者

お礼

回答ありがとうございます。

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.1

IsNumeric()関数を使います。

VitaminBB
質問者

お礼

回答ありがとうございます。