
Excel VBAでワークシート関数の「ISNUMBER」を使って、値が数値かどうかを判断する記録です。
下図はExcel2016です。
< スポンサーリンク >
ISNUMBERで数値化どうか調べる例
アクティブシートのA1のセルの値が数値かどうかをメッセージで表示します。
Sub test()
MsgBox WorksheetFunction.IsNumber(ActiveSheet.Range("A1"))
End Sub
A1のセルの値は数値ではなく、文字列なので「False」がメッセージで表示されます。
アクティブシートのB2のセルの値が数値かどうかをメッセージで表示します。
Sub test()
MsgBox WorksheetFunction.IsNumber(ActiveSheet.Range("B2"))
End Sub
B2のセルの値は数値なので「True」がメッセージで表示されます。
D列のセルの値が数値かどうかをE列に入力します。
Sub test()
Dim ws As Worksheet
Dim i As Long
'変数にアクティブシートをセット
Set ws = ActiveSheet
'E列にD列が数値かどうかを入力
With ws
For i = 2 To 6
.Cells(i, 5).Value = WorksheetFunction.IsNumber(.Cells(i, 4))
Next i
End With
End Sub
D4のセルの値は文字列なので「False」になり、他のセルの値は数値なので「True」がE列に入力されます。
ISNUMBER関数の構文
WorksheetFunction.IsNumber(Arg1)
値の種類をチェックし、その値が数値を参照しているかどうかに応じて、TrueまたはFalseを返します。戻り値はブール型(Boolean)です。
Arg1=必須。値。テストする値を指定します。引数には、空白セル、エラー値、論理値、文字列、数値、セル参照、または対象となるデータを参照する名前を指定できます。
▼▼ VBAではなくセルに関数を入力する場合はこちら ▼▼
>> Excel セルの値が数値かどうかを関数を使って調べる-ISNUMBER関数
Excelでデータを入力されているもので、電話番号や住所の番地など、数値に見えているのに文字列で入力されていることがあります。 数値かどうかを関数を使って調べる方法を記録します。 関数 対象が数値の場合に TRUE を返 …
こんな記事も書いています