プログラムは基本的に動かしながら作るタイプです。
なので、VBAで(に限らず)よくやってしまうんです、無限ループ。。
ループカウンタのインクリメント忘れたり、レコードセットのループでMoveNext書くの忘れたり…。
そうするとExcelごと固まる。。
まさにクールポコ状態!!!!
ヤッチマッタナァァァァァッ!!!!!!!!(((;゚Д゚)))
タスクマネージャでExcel自体を強制終了させるしかないのか…。
保存していなかったものはあきらめるしかないのか…。
そんなときの対処法を調べてみました。
はじめに
まずは、深呼吸しましょう。
人間は焦っていては冷静な判断はできません。
なので、まずは深呼吸でもして落ち着きましょう。
タスクの切り替え
続いて、タスクを切り替えます。
Windowsの場合、「Alt+Tab」キーでタスクの切り替え(どの画面が一番前面でアクティブにするか)ができるので、VBAの開発画面である「Visual Basic for Applications」を選択し、切り替えましょう。
この時、Excel自体が固まっているような状態で、VBAの開発画面が表示されなくても、大丈夫です(俺の環境では大丈夫でした)。
処理の中断(Break)
最後に、「Ctrl+Pause」キーで処理を中断(Break)させます。
そうすると中断する旨のメッセージとともに、VBAの無限ループを中断することができました。
さいごに
このように俺の環境の場合は、Excelを強制終了することなく、無限ループを中断できました。
クールポコ状態からの帰還!!!!イェアァァッ!!!!
全ての場合に同じようにできるかどうかは分かりませんが、強制終了させる前に一度お試しを!
コメント