On Error GoTo ステートメント
On Error GoToステートメントを宣言することで、エラー処理ルーチンを開始します。 実行時エラーが発生した場合、指定の行ラベルにプログラム制御が移行します。
実行プログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Sub Sample1_6_1() On Error GoTo ErrorHandler Worksheets("Sheet2").Activate Exit Sub ErrorHandler: MsgBox "エラー番号 :" & Err.Number & vbCrLf & _ "エラーの内容:" & Err.Description End Sub |
実行前
実行後
- On Error GoTo 0ステートメントでエラー処理ルーチンを無効にすることができます。
- Errオブジェクトから実行時エラーに関する情報を取得できます。
プロパティ | 説明 |
---|---|
Number | エラー番号 |
Description | エラーを説明する文字列 |
HelpContext | ヘルプファイルのトピックを表すコンテキスト番号 |
HelpFile | ヘルプ ファイルへのパス |
Source | エラーを発生させたオブジェクトまたはアプリケーションの名前 |
On Error Resume Nextステートメント
実行時エラーが発生してもプログラムを中断せず、次のステートメントへ進みます。
実行プログラム
1 2 3 4 5 6 7 8 9 10 11 |
Sub Sample1_6_2() On Error Resume Next Worksheets("Sheet2").Activate If Err.Number <> 0 Then MsgBox "エラー番号 :" & Err.Number & vbCrLf & _ "エラーの内容:" & Err.Description End If End Sub |
実行前
実行後
- On Error GoTo 0ステートメントでOn Error Resume Nextステートメントを無効にすることができます。
Resumeステートメント
実行時エラーが発生した場合、エラーが発生したステートメントから実行が再開されます
実行プログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Sub Sample1_6_3() On Error GoTo ErrorHandler Worksheets("Sheet2").Activate Exit Sub ErrorHandler: MsgBox "エラー番号 :" & Err.Number & vbCrLf & _ "エラーの内容:" & Err.Description Resume End Sub |
実行条件
ステップ実行
- サンプルプログラムを、ステップ実行やブレークポイントを設定せずに実行すると無限にメッセージが表示されます。
- エラー解析の際、Resumeステートメントにブレークポイントを設定しておくと、エラー箇所の特定が容易になります。