コードの途中からステップ実行できるようになるブレークポイントは、VBE(Visual Basic Editor)でデバッグを行う際の、有効な機能のひとつです。
しかし(場合によっては)不便なこともあります。
ブックを閉じるとブレークポイントが解除されるという点です。
ブレークポイントはブックを閉じると解除される
ブックを閉じるとブレークポイントが解除されるのは、通常は便利ですけれど、一部のマクロやイベントプロシージャでは不便になってしまいます。
ブックを開くときに自動的に実行されるAUTO_OPENマクロや、Workbook_Openイベントプロシージャのデバッグに、ブレークポイントは使えないからです。
このサイト『インストラクターのネタ帳』のアクセスログでも、
「excel auto open デバッグ」
「excel auto open ブレークポイント」
「workbook_open デバッグ方法」
といった検索キーワードが見つかります。
AUTO_OPEN・Workbook_OpenのデバッグにはStopステートメント
AUTO_OPENマクロや、Workbook_Openイベントプロシージャのデバッグには、Stopステートメントを使いましょう。
AUTO_OPENマクロのデバッグ方法
AUTO_OPENマクロの先頭に以下のようにStopステートメントを書いておきます。Stop
' 何らかの処理
End Sub
すると、このAUTO_OPENマクロの書かれているブックが開かれたときに、ブレークポイントを設定していたのと同様に、ステップ実行できる状態になります。
Workbook_Openイベントプロシージャのデバッグ方法
Workbook_Openイベントプロシージャの場合も同じです。Stop
' 何らかの処理
End Sub
Stopステートメントの削除・コメントアウトを忘れないように
Stopステートメントとブレークポイントとの違いは、コードを書いているかどうかです。
ブレークポイントの場合はブックを閉じれば自動的に解除されますが、Stopステートメントは勝手には消されません。
デバッグ作業が終わったら、削除するかコメントアウトするのを忘れないようにしましょう。
最終更新日時:2019-02-15 09:54
- Newer:『Excel VBA講座 オブジェクト式解説編』について
- Older:Rows・Columnsで自動メンバー表示を
Home » エクセルマクロ・Excel VBAの使い方 » イベントプロシージャ » AUTO_OPEN・Workbook_Openのデバッグ