【エクセルVBA】エラー処理テクニック
当ページのリンクには広告が含まれています。
エクセルVBAにて エラー処理 をするテクニックを解説します
クリックしてジャンプ
エラーハンドラへのジャンプ
On Error GoTo
ステートメントは
エラーが発生した場合に指定したラベル(エラーハンドラ)にジャンプします
エラー処理を集中して記述することができ、コードの可読性が向上します
On Error GoTo ErrorHandler
' ここに通常のコードを記述
Exit Sub
ErrorHandler:
MsgBox "エラーが発生しました: " & Err.Description
Resume Next
エラー番号の取得
Err.Number
プロパティは
発生したエラーの番号を返します
この番号を用いて、特定のエラーに対する対応を行うことができます
If Err.Number <> 0 Then
MsgBox "エラー番号: " & Err.Number
End If
エラーの説明を取得
Err.Description
プロパティは
発生したエラーの詳細な説明を返します
ユーザーにエラー情報を提供する際に有用です
MsgBox "エラーの説明: " & Err.Description
エラーオブジェクトをクリア
Err.Clear
メソッドは
エラーオブジェクトの現在の値をクリアします
エラー処理後にエラー情報をリセットする際に使用します
Err.Clear
次の行から処理を続行
On Error Resume Next
ステートメントは
エラーが発生しても次の行から処理を続けるように指示します
このモードではエラーが無視されるため
エラーが発生した後にErr.Number
をチェックして
適切に処理する必要があります
On Error Resume Next
' エラーが発生しうるコード
If Err.Number <> 0 Then
' エラー処理
End If
エラーハンドリングを無効
On Error GoTo 0
ステートメントは
On Error Resume Next
によるエラーハンドリングを無効にし
エラーが発生した場合にデフォルトのエラーハンドラを使用するように設定します
エラーハンドリングの範囲を制限することができます
On Error GoTo 0