更新日:、 作成日:

VBA エラー発生時に中断する

はじめに

Excel VBA マクロでエラー発生時に中断する方法を紹介します。

ツール > オプション > 全般 > エラートラップ から、エラー発生時に中断する方法を選択できます。

エラー発生時に中断 を選択すると、すべてのエラーをデバッグできます。

エラー処理について「エラー処理をする」をご覧ください。
デバッグの仕方については「デバッグの仕方」をご覧ください。

エラー発生時に中断する

エラーが発生したときに処理を中断するには [ツール] をクリックして [オプション] をクリックします。

option

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

1

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

2

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

3

エラートラップの種類により、デバッグできるものとできないものがあります。

VBA マクロが含まれたファイルを配布するときはデバッグされたくないので「エラー処理対象外のエラーで中断」を選択します。

エラー発生時に中断

エラー処理 結果
エラー処理なしデバッグ可能
On Error 内デバッグ可能
4

すべてのエラーをデバッグ可能です。エラー処理している中でもデバッグ可能なのでメッセージが煩わしいことがあります。

クラスモジュールで中断

エラー処理 結果
エラー処理なしデバッグ可能
On Error 内自作のクラス内の未処理のエラーをデバッグ可能
それ以外はエラー処理を実行
5

エラー処理しているときは、自作のクラスで発生したエラーをデバッグできます。自作のクラス内でエラー処理しているときは、そのエラー処理が実行されます。それ以外のエラーはエラー処理が実行されます。

エラー処理対象外のエラーで中断

コード エラー処理 結果
シートエラー処理なしエラー
シートOn Error 内エラー処理を実行
標準モジュールエラー処理なしデバッグ可能
標準モジュールOn Error 内エラー処理を実行
6

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

7

エラー処理しているときは、エラー処理が実行されます。

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