Excel VBA 1004エラーの対処方法

 

Excel VBAの1004エラーは、様々な原因で発生します。今回、Excel VBAで実行されるマクロやコードにおいて、対象となるオブジェクトが存在しない、または正しく参照されていない場合の対処方法を紹介します。

 

Excel VBA 1004エラー

1004エラーは、特定のセルや範囲、シート、ブックなどのオブジェクトにアクセスするExcel VBAコードを実行する際、それらのオブジェクトが存在しない場合や正しく参照されていない場面で発生します。

 

1004エラーの対処方法

エラーが発生する原因となる可能性がある箇所でエラーチェックして、存在しないオブジェクトにアクセスする前に確認で、エラーを回避します。

 

ポイント

1004エラーは実行時エラーであり、発生するとプログラムが停止します。エラーが発生する箇所を特定し、それに対するエラーハンドリングを実装することが重要です。

 

Excel VBA 1004エラー対処サンプルコード
Option Explicit

Sub SampleCode()
    Dim ws As Worksheet
    
    ' シートが存在するか確認
    On Error Resume Next
    Set ws = Worksheets("Sheet1")
    On Error GoTo 0
    
    ' シートが存在する場合の処理
    If Not ws Is Nothing Then
        ' シートが存在する場合のコードを記述
        ws.Range("A1").Value = "Hello, World!"
    Else
        ' 存在しない場合のエラー処理
        MsgBox "Sheet1が見つかりません。"
    End If
End Sub

サンプルコードは、Sheet1のワークシートが存在するかどうかを確認しています。存在すればA1セルにメッセージを書き込み、存在しなければエラーメッセージを表示します。これで、存在しないオブジェクトにアクセスしての1004エラーを回避しています。