On Error ステートメントの解説
概要
「On Error ステートメント」は、VBAプログラミングにおけるエラー処理の基盤となるステートメントです。このステートメントを使用することで、実行時に発生する可能性のあるエラーに対して、プログラム内で特定の処理を指定することができます。
意義
エラーは予期しないタイミングで発生することがあり、そのまま放置するとプログラムが途中で停止してしまいます。On Error ステートメントを適切に使用することで、エラーが発生した際の振る舞いを制御し、ユーザーフレンドリーなエラーメッセージの表示やエラーログの作成など、エラーの取り扱いを柔軟に設定することができます。
構文
On Error GoTo 行ラベル On Error Resume Next On Error GoTo 0
パーツ
- GoTo 行ラベル
- エラーが発生した場合にジャンプする行のラベルを指定します。
- Resume Next
- エラーが発生した場合でも次の行から実行を続けます。
- GoTo 0
- エラーハンドリングを無効にします。
パラメータ
- 行ラベル
- エラーが発生した場合にジャンプする行のラベルを指定します。
サンプルプロシージャ
以下は、On Error ステートメントを使用してエラーが発生した際の処理を指定するサンプルコードです。
Sub ErrorHandlerSample() On Error GoTo ErrorHandler ' エラーを意図的に発生させる(0での除算) Dim result As Double result = 1 / 0 Exit Sub ErrorHandler: MsgBox "エラーが発生しました: " & Err.Description, vbExclamation End Sub
関連するステートメントや関数
「Errオブジェクト」: エラー情報を取得するためのオブジェクト。Description, Number などのプロパティを持ち、エラーの内容やエラーコードを取得することができます。
注意事項
On Error ステートメントはプロシージャ内でのみ有効です。一度エラーハンドリングを設定すると、別のOn Error ステートメントを使用して上書きするか、On Error GoTo 0を使用してエラーハンドリングを無効にするまでその設定が継続されます。