Excel VBA エラー発生で無視してプログラム停止させない機能の使い方

 

Excel VBA エラー無視は、特定のコードブロック内でエラーが発生しても、プログラムの実行を続けるために使用します。一時的にエラーハンドリングを無視し、エラーが発生してもプログラムが停止しないようにできます。具体的な使い方や、注意点やサンプルコードを紹介します。

 

📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!

👇実務で“そのまま使える”テンプレ付きで、コピペするだけ
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き

 

Excel VBA エラー無視の利用

以下のようなシーンで利用されます。

・エラーが発生しても無視して続行したい

・例外的な状況で一時的にエラーチェックを無効にしたい

・存在しない可能性があるファイルやシートへのアクセス

・特定のエラーを予期していて、そのエラーを無視して処理を続行したい

使い方

エラー無視の機能を利用するには、On Error Resume Nextステートメントを使用します。このステートメントを使用すると、エラーが発生しても次の行に進みます。エラーハンドリングを再度有効にするには、On Error GoTo 0を使用します。

 

ポイント

・エラーを無視することで、予期しない動作が発生する可能性があります。

・デバッグが難しくなるため、慎重に使用する必要があります。

・エラーハンドリングを無効にするタイミングと再有効化するタイミングを明確にすることが重要です。

 

Excel VBA エラー無視のサンプルコード
シンプルなエラー無視の使用例
Option Explicit

Sub IgnoreErrorExample()
    On Error Resume Next
    
    ' 存在しないシートを削除しようとする
    Worksheets("NonExistentSheet").Delete
    
    ' エラー無視を終了
    On Error GoTo 0
    
    MsgBox "エラーが発生しましたが、無視されました。"
End Sub

 

自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。

👉無料ExcelVBAベーシック選択問題138問

 

ファイルの存在チェックとエラー無視の使用例

Option Explicit

Sub OpenFileIfExists()
    Dim wb As Workbook
    On Error Resume Next
    
    ' ファイルを開く
    Set wb = Workbooks.Open("C:\Users\User\Desktop\DataCsv\Book2.xlsx")
    
    ' エラーチェックを再有効にする
    On Error GoTo 0
    
    If wb Is Nothing Then
        MsgBox "ファイルが存在しませんでした。"
    Else
        MsgBox "ファイルが正常に開かれました。"
    End If
End Sub

エラー無視を適切に利用することで、プログラムの堅牢性を高められますが、誤って利用すると予期しない結果を引き起こす可能性があるため注意が必要です。

 

Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。

👉無料ExcelVBAベーシック選択問題138問