俺の開発研究所

Ruby on Rails、Linux、Windowsを中心にIT技術系の備忘録とか。よく忘れるので。

*

VBAの無限ループでExcelごと固まった時の対処法

   

プログラムは基本的に動かしながら作るタイプです。

なので、VBAで(に限らず)よくやってしまうんです、無限ループ。。

ループカウンタのインクリメント忘れたり、レコードセットのループでMoveNext書くの忘れたり…。

そうするとExcelごと固まる。。

まさにクールポコ状態!!!!

ヤッチマッタナァァァァァッ!!!!!!!!(((;゚Д゚)))

タスクマネージャでExcel自体を強制終了させるしかないのか…。

保存していなかったものはあきらめるしかないのか…。

そんなときの対処法を調べてみました。

スポンサード リンク

はじめに

まずは、深呼吸しましょう。

人間は焦っていては冷静な判断はできません。

なので、まずは深呼吸でもして落ち着きましょう。

タスクの切り替え

続いて、タスクを切り替えます。

Windowsの場合、「Alt+Tab」キーでタスクの切り替え(どの画面が一番前面でアクティブにするか)ができるので、VBAの開発画面である「Visual Basic for Applications」を選択し、切り替えましょう。

この時、Excel自体が固まっているような状態で、VBAの開発画面が表示されなくても、大丈夫です(俺の環境では大丈夫でした)。

処理の中断(Break)

最後に、「Ctrl+Pause」キーで処理を中断(Break)させます。

そうすると中断する旨のメッセージとともに、VBAの無限ループを中断することができました。

さいごに

このように俺の環境の場合は、Excelを強制終了することなく、無限ループを中断できました。

クールポコ状態からの帰還!!!!イェアァァッ!!!!

全ての場合に同じようにできるかどうかは分かりませんが、強制終了させる前に一度お試しを!

参考サイト

SOHOの散歩道: BreakキーがないパソコンでのCtrl+Break

 - VBA