サイトについて      連絡先   検索

VBA IsError 関数

はじめに

Excel VBA マクロの IsError 関数を紹介します。

IsError 関数は、指定した値がエラーかどうかを判定します。

関数の戻り値やセルの値がエラーかどうかの判定に使用します。

  • 目次
    • 構文
    • 解説
    • 使用例

構文

IsError()
がエラーのときは True を返します。それ以外のときは False を返します。

引数「値」判定したい値を指定します。
戻り値の型ブール型 (Boolean)

解説

引数「値」が「CVErr 関数」で作成したエラーならTrueを返します。それ以外の値ならFalseを返します。

引数「値」にセルのエラー#N/A#VALUE!などを指定したときはTrueを返します。

関数が正常に行われたかどうかを判定できます。

使用例


Dim b As Boolean
Dim v As Variant

b = IsError(v)
Debug.Print(b) ' False

v = CVErr(1) ' エラーを返す関数など
b = IsError(v)
Debug.Print(b) ' True

Cells(1, 1).Value = CVErr(XlErrValue) ' #VALUE! を設定
v = Cells(1, 1).Value 
b = IsError(v)
Debug.Print(b) ' True

b = IsError("あいう")
Debug.Print(b) ' False

関数の戻り値が正常かエラーか判定する。


Sub 実行()
    Dim v As Variant
    v = Tips(10)
    
    If IsError(v) = False Then
        Debug.Print(v) ' 正常
    Else
        Debug.Print(v) ' エラー 60000
    End If

    v = Tips(0)
    
    If IsError(v) = False Then
        Debug.Print(v) ' 正常
    Else
        Debug.Print(v) ' エラー 60000
    End If
End Sub

Function Tips(ByVal i As Integer) As Variant
    If i = 10 Then
        Tips = "正常"
    Else
        Tips = CVErr(60000) ' システムエラー
    End If
End Function
  • 目次
    • 構文
    • 解説
    • 使用例