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

VBA Error 関数

はじめに

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

Error 関数は、指定したエラー番号に対応するエラーメッセージを返します。

発生したエラーの番号から、エラーの内容を知りたいときに使用します。

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

構文

Error()
最後に発生したエラーのエラーメッセージを取得します。

Error(エラー番号)
エラー番号のエラーメッセージを取得します。

引数「エラー番号」省略できます。0 ~ 65,535 の整数値を指定します。
戻り値の型文字列型 (String)

解説

VBA から発生するエラーの番号に対応するメッセージを取得できます。

引数「エラー番号」に対応するエラーメッセージを返します。13なら型が一致しません。を返します。これは「エラー 13 型が一致しません。」のエラーです。

引数「エラー番号」を省略すると、最後に発生したエラーのエラーメッセージを返します。エラーが発生していないときは空文字を返します。

VBA から発生したエラーの詳細な内容は Err オブジェクトから取得できます。Err オブジェクトの Description プロパティと Error 関数が返すエラーメッセージは同じです。

Error エラー番号のように()を付けないでエラー番号を指定すると、強制的にその番号のエラーを発生させる Error ステートメントになるので注意が必要です。これは Error 関数とは別のものです。

使用例


Dim s As String

s = Error(6)
Debug.Print(s) ' オーバーフローしました。

s = Error(13)
Debug.Print(s) ' 型が一致しません。

最後に発生したエラーを取得する。


Sub 実行()
On Error GoTo Catch

    Dim s As String
    s = Error ' 最後に発生したエラーを取得
    Debug.Print(s) ' ""
    
    ' エラーを発生させる
    Dim i As Integer
    i = ""   
    Error 13 ' Error ステートメント、強制的にエラー 13 を発生させる。

Catch:
    s = Error ' 最後に発生したエラーを取得
    Debug.Print(s) ' 型が一致しません。

    s = Err.Description
    Debug.Print(s) ' 型が一致しません。
End Sub
  • 目次
    • 構文
    • 解説
    • 使用例