Vba: isnumeric を使用してセルが数値かどうかを確認する方法
VBA でIsNumeric関数を使用すると、特定のセルが数値かどうかを確認できます。
この関数は、指定されたセルの値が数値として認識される場合にTrueを返します。
それ以外の場合、関数はFalseを返します。
この関数を実際に使用する一般的な方法は次のとおりです。
SubCheckNumeric ()
Dim i As Integer
For i = 1 To 9
If IsNumeric(Range(" A " & i)) = True Then
Range(" B " & i) = " Numeric Value "
Else
Range(" B " & i) = " Not a Numeric Value "
End If
Next i
End Sub
この特定のマクロは、範囲A1:A9の各セルが数値であるかどうかをチェックします。
セルが数値の場合、範囲B1:B9内の対応するセルに「数値」が返されます。
セルが数値でない場合は、代わりに「数値ではありません」が返されます。
次の例は、この構文を実際に使用する方法を示しています。
例: VBA で IsNumeric を使用する方法
Excel に次の値の列があるとします。
列 A の各セルが数値であるかどうかを確認したいとします。
これを行うには、次のマクロを作成できます。
SubCheckNumeric ()
Dim i As Integer
For i = 1 To 9
If IsNumeric(Range(" A " & i)) = True Then
Range(" B " & i) = " Numeric Value "
Else
Range(" B " & i) = " Not a Numeric Value "
End If
Next i
End Sub
このマクロを実行すると、次の出力が表示されます。
列 B には、列 A 内の一致する各セルが数値として認識されるかどうかを示す結果が表示されます。
結果で注目すべき興味深い点がいくつかあります。
- 小数点以下の桁がある数値は数値として認識されます。
- パーセンテージは数値として認識されます。
- 日付は数値として認識されません。
- 数字を含むテキストは数字として認識されません。
注: VBA IsNumeric関数の完全なドキュメントはここにあります。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBAで文字列をintに変換する方法
VBAで文字列をdoubleに変換する方法
VBAで文字列に別の文字列が含まれているかどうかを確認する方法