Excel VBAで文字列かどうか判断する記録です。
文字列かどうかを判断するには、ワークシート関数の「ISTEXT」を使います。
< スポンサーリンク >
「ISTEXT」関数構文
WorksheetFunction.IsText(Arg1)
値の種類をチェックし、その値がTEXTを参照しているかどうかに応じて、TRUEまたはFALSEを返します。
Arg1=必須。テストする値を指定します。引数には空白セル、エラー値、論理値、文字列、数値、セル参照、または対象となるデータを参照する名前を指定することができます。
「ISTEXT」関数の使用例
A1のセルの値が文字かどうかをメッセージで表示します。※文字列なので「True」が表示されます。
Sub test()
MsgBox WorksheetFunction.IsText(Range("A1"))
End Sub
A7のセルの値が文字かどうかをメッセージで表示します。※数値なので「False」が表示されます。
Sub test()
MsgBox WorksheetFunction.IsText(Range("A7"))
End Sub
A列の1~8行目のセルの値を文字かどうか判断し、B列に結果を入力します。
Sub test()
Dim ws As Worksheet
Dim i As Long
'変数にアクティブシートをセット
Set ws = ActiveSheet
'A列を文字かどうかチェックしてB列に結果を入力
For i = 1 To 8
With ws
If WorksheetFunction.IsText(.Cells(i, 1)) = True Then
.Cells(i, 2).Value = "文字"
Else
.Cells(i, 2).Value = "文字ではない"
End If
End With
Next i
End Sub
こんな記事も書いています