小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

エラー割り込みを無視するには in VBA

たとえば、任意のセルに入力規則を設定すると、そのプロパティには正常アクセスすることができます。
しかし、ループ等で任意のセルにアクセスで、入力規則での設定がされていないセルのそのプロパティにアクセスすると、無碍なく以下のエラー割り込みが発生してプログラムが落ちます。

実行時エラー'1004':

アプリケーション定義またはオブジェクト定義のエラーです。

これ、エラー認識をIf文で、なんとか処理をしたいのですが、いろいろ試しましたが、不可能のようです。
なので、エラー割り込みを無視するようにすればいい訳で、それは以下のようにします。

On Error Resume Next

この一行をモジュールの先頭にいれます。
すると、エラー割り込みが起こっても無視し、次の実行ステップを行います。


ただし、これだとすべてのエラー割り込みが無視されるので、無視したいエラー番号をErr.Numberで調べて、これだけを無視するようにします。

On Error GoTo Handler 
:
:
Handler:
   If Err.Number = 『無視したいエラー番号』 Then
      Resume Next
   End If
End Sub

尚、Excel2000とExcel2003のVBAで確認しています。