更新日:、 作成日:
VBA エラー発生時に中断する
はじめに
Excel VBA マクロでエラー発生時に中断する方法を紹介します。
ツール > オプション > 全般 > エラートラップ から、エラー発生時に中断する方法を選択できます。
エラー発生時に中断 を選択すると、すべてのエラーをデバッグできます。
エラー処理について「エラー処理をする」をご覧ください。
デバッグの仕方については「デバッグの仕方」をご覧ください。
エラー発生時に中断する
エラーが発生したときに処理を中断するには [ツール] をクリックして [オプション] をクリックします。

[全般] タブから [エラー発生時に中断] を選択して [OK] をクリックします。

エラーが発生したら [デバッグ] をクリックします。

エラーが発生した処理で中断します。

エラートラップの種類により、デバッグできるものとできないものがあります。
VBA マクロが含まれたファイルを配布するときはデバッグされたくないので「エラー処理対象外のエラーで中断」を選択します。
エラー発生時に中断
エラー処理 | 結果 |
エラー処理なし | デバッグ可能 |
On Error 内 | デバッグ可能 |

すべてのエラーをデバッグ可能です。エラー処理している中でもデバッグ可能なのでメッセージが煩わしいことがあります。
クラスモジュールで中断
エラー処理 | 結果 |
エラー処理なし | デバッグ可能 |
On Error 内 | 自作のクラス内の未処理のエラーをデバッグ可能 それ以外はエラー処理を実行 |

エラー処理しているときは、自作のクラスで発生したエラーをデバッグできます。自作のクラス内でエラー処理しているときは、そのエラー処理が実行されます。それ以外のエラーはエラー処理が実行されます。
エラー処理対象外のエラーで中断
コード | エラー処理 | 結果 |
シート | エラー処理なし | エラー |
シート | On Error 内 | エラー処理を実行 |
標準モジュール | エラー処理なし | デバッグ可能 |
標準モジュール | On Error 内 | エラー処理を実行 |

シートにコードを入力してエラー処理をしないで発生したエラーはデバッグできません。

エラー処理しているときは、エラー処理が実行されます。
マクロの関数でエラー処理すればデバッグできないので、VBA マクロが含まれたファイルを配布するときにこの設定にします。
スポンサーリンク