こんにちは、ユーキです。
今回は、VBAを実行中に中断させる方法を紹介します。無限ループに入ってしまったとき、思ったよりも処理に時間がかかるような場合に役に立ちます。
ショートカットキーで処理を中断させる
処理を実行中に中断したい場合、下記のショートカットキーで中断することができます。
[Esc]キー で一時中断
処理を実行中に [Esc]キーを押下すると、一時中断になります。その状態で、ツールバーにある[リセット]ボタンを押下することで、処理を完全に終了することができます。
Ctrl + Break または Ctrl + Pause で中断
Ctrl + Break または Ctrl + Pauseでも、中断することができます。
中断すると、以下のダイアログが表示されるので、必要なボタンを押下します。
- 継続:中断していた処理が再開します
- 終了:処理が終了となります
- デバッグ:デバッグモードに移行し、ステップ実行ができるようになります。
終了したい場合は、リセットボタンで終了すればOKです。
Breakボタン、Pauseボタンでどこにあるの?
たいていはキーボードの右上にある、Insertボタン、Deleteボタンと並びになっていることが多いです。Breakボタン、Pauseボタンは、同じキーになっていることもあります。
我が家のキーボードはBreakボタン、Pauseボタンが同じキーになっていました。
ノートPCの場合だと、PrintScreenと一緒になっていることも多いかもしません。Breakキーを使用するには、[Fn]キーを押しながらでないと有効にならない場合もあります。
キーを配置のうえ、無限ループとなるコードを書いてみて、止めてみるのもいいかもしれません。
プロセスを終了させる
タスクマネージャーから「Microsoft Excel」を選択し、「タスクの終了」で処理を終了させる方法です。もう究極の方法です。
これはExcelをすべて終了させてしまいますので、他のExcelまで一緒に強制終了されてしまいます。どうしても処理を止めたい場合の最終手段です。
処理によっては、ゴミデータができてしまうことも考えられるので、基本はショートカットで終了させるようにしましょう。
まとめ
今回は、無限ループになったときなどに使える、処理の中断についてお話をしました。
- 処理の中断には、[Esc]キー、あるいはCtrl + Break、Ctrl + Pause
- タスクマネージャーからタスクの終了で終わらせることも可能だが、最終手段
少しでもお役に立てば、幸いです。