On Error文は実行中のプロシージャでエラーが発生した場合を想定し、指定した位置にプログラムの制御を移すことを目的に記述します。


On Error GoTo 行ラベル名

行ラベル名:

	エラーが発生した場合処理される
					

エラー内容の確認にはErrオブジェクトを使用します。

オブジェクト名プロパティ内容
ErrNumberエラー番号
Description エラー番号に対応するエラー内容
Source現在のプロジェクト名
HelpFileヘルプファイル名
HelpContext Number ヘルプファイルに対応するコンテキスト番号


以下の例ではInteger型の変数iに文字列を代入しようとするためエラーとなります。


Sub Sample()

    On Error GoTo ErrFunc
    
    Dim i As Integer
    Dim strErr As String

    i = "aaa"             '←ココで構文エラーとなる。
    
    MsgBox "正常に終了しました。"
    
    Exit Sub

ErrFunc:

    strErr = "エラー番号:" & Err.Number & Chr(13)
    strErr = strErr & "エラー内容:" & Err.Description & Chr(13)
    strErr = strErr & "ヘルプファイル名" & Err.HelpContext & Chr(13)
    strErr = strErr & "プロジェクト名:" & Err.Source & Chr(13)

    MsgBox strErrMsg

End Sub