教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について説明していきます。

【ExcelVBA 関数】IsNumeric関数を使用した数値として扱えるかどうかを調べる方法を教えて!

       f:id:m_kbou:20200420122351p:plain

IsNumeric関数は指定した値が数値として認識できるか否かを判断します。具体的な使い方について説明します。

 

【目次】

 

構文

IsNumeric関数の記述方法は、以下の通りとなります。

=======================================================================

IsNumeric[値]

=======================================================================

[説明]:

[値]には数値又は文字列を記述します。[値]が数値として認識できる場合は「True」を戻り値で返します。また数値として認識できない場合は「False」を戻り値で返します。内容を纏めると、「[値]で記述した値が数値として認識できるのか?できないのか?を判断し、数値として認識できる場合は「True」を戻り値として、数値として認識できない場合は「False」を戻り値として表示して下さい。」との意味になります。

[記述例]:

IsNumeric(123)
IsNumeric(”テスト”)

 

使い方

使い方について、具体的に説明していきます。

値が数値として認識できる場合

値が数値として認識できる場合について説明します。 

[記述例①]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    MsgBox IsNumeric(123)
End Sub

-------------------------------------------------

「値:123が数値として認識できるのか?できないのか?を判断し、数値として認識できる場合は「True」を、認識できない場合は「False」をMsgBoxで表示して下さい。」との意味になります。

[実行例①]:

※値:123は数値として認識できるため、戻り値「True」が表示されます。

f:id:m_kbou:20190618145811p:plain

--------------------------------------------------------------------------------------------------

[記述例②]:

-------------------------------------------------

Sub サンプル()

    If (IsNumeric(123) = True) Then
        MsgBox "数値です。"
    Else
        MsgBox "数値ではありません。"
    End If

End Sub

-------------------------------------------------

「値:123が数値として扱えるか否かを判断し、扱える場合には”数値です。”をMsgBoxで表示し、扱えない場合には”数値ではありません。”を表示て下さい。」との意味になります。

[実行例②]:

※値:123は数値として認識できるため「数値です。」が表示されます。

f:id:m_kbou:20200310081338p:plain

値が数値として認識できる場合についての説明は以上です。

 

値が数値として認識できない場合

値が数値として認識できない場合について説明します。 

[記述例①]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    MsgBox IsNumeric(”テスト”)
End Sub

-------------------------------------------------

「値:テストが数値として認識できるのか?できないのか?を判断し、数値として認識できる場合は「True」を、認識できない場合は「False」をMsgBoxで表示して下さい。」との意味になります。

[実行例①]:

値:テストは文字列となり、数値として認識できない事から、戻り値「False」が表示されます。

f:id:m_kbou:20190618145826p:plain

--------------------------------------------------------------------------------------------------

[記述例②]:

-------------------------------------------------

Sub サンプル()

    If (IsNumeric("テスト") = True) Then
        MsgBox "数値です。"
    Else
        MsgBox "数値ではありません。"
    End If

End Sub

-------------------------------------------------

「値:テストが数値として扱えるか否かを判断し、扱える場合には”数値です。”をMsgBoxで表示し、扱えない場合には”数値ではありません。”を表示て下さい。」との意味になります。

[実行例②]:

※値:テストは数値として認識できないため「数値ではありません。」が表示されます。

f:id:m_kbou:20200310081354p:plain

値が数値として認識できない場合についての説明は以上です。

 

おわりに

今回はIsNumeric関数の使い方について説明しました。類似の内容としてIsDate関数を使用した日付や時刻として扱えるかどうかを調べる方法IsArray関数を使用した配列かどうかを調べる方法があります。こちらも参考にして下さい。