私はコードを書いて(これが多くの人にとって信じられないくらい難しい)、ときどき失敗して、無限ループを作成します。私の新しい素晴らしいExcelでは、Ctrl + Breakは機能しなくなりました。 Escキーなども同様ではありません。私はWeb全体を調べましたが、Microsoftにはバグがあり、修正する気はないようです。
誰かがCtrl + Break機能をVBAに再導入する方法を知っているので、将来これが発生しても仕事を失うことはありませんか?ありがとうございました!
Alt + Esc壊れるまでキーを押し続けます。
Windows 7以降、これは開いているすべてのウィンドウを循環します。気にしないで、ただ絞ってください。
Office 2013では、少なくともCtrl + Scroll Lockがそれを行います。設定を変更したり、有効にしたりする必要はありませんでした。
(Blatantプラグ: 私のブログ投稿 この情報の元のソースへのリンク:))
この非常に迷惑な動作を軽減する1つの方法は、
DoEvents
ループの中。反復ごとに実行する必要はありません。定期的に呼び出される限り、Ctrl Breakは引き続き機能します。
注:パフォーマンスの影響を避けるため、通常はコードのデバッグ後にこれを削除します
以前に提案された解決策を役に立たなかった人は、これを試してください。それは私のために働いた(windows8、Excel 2016)
VBAコードウィンドウで、Alt + ESCキーを押したまま、左クリックして(そのウィンドウをドラッグする場合と同じように)押し続けます。実行が中断され、続行するかデバッグするかを尋ねられました...もちろんデバッグを選択しました。
誰かを助けることができる場合、マクロが実行されていないときにCtrl + breakを押すことは、開発者の外部で行う場合にのみ機能します。
別の方法は、意図的にループにエラーを導入することです。たとえばループは1000回を超えて実行しないでください。
Function XYZ()
do while(..)
errcnt = errcnt + 1
if errcnt > 1000 then
cells.find(what:="Chunk Norris").activate
exit function
endif
loop
end function
エラーが発生し、コードが「壊れる」