On Errorステートメント 解説(Excel VBA)

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を使用してエラーハンドリングを無効にするまでその設定が継続されます。