• ベストアンサー

VBAが止まらない

vbaを実行して中々終わらないので、強制終了しようとリセットボタンを押してもとまりません。 ctrl+pauseを押しても、うんともすんともいいません。 ×ボタンで閉じようとしても閉じません。 タスクマネージャーから強制終了すればとまるのですが、 なぜこのような事が起こるのでしょうか? 1日1回の頻度で起こります。 ファイルが壊れてるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

こんにちは。 無限ループが発生しているなら、ループの中で、 DoEvents を入れれば、割り込み信号が入りますから、止まりやすくはなりますが、 質問に対する解決になるのか、こちらでは分かりません。 意図的か不可抗力で、無限ループなどを発生するのか、させているのかどうかさえ、質問文では分かりません。意図的なら、そのコードを見せてくれれば、それなりに、その正規の離脱法を披露できると思いますが、今の状態ではなんとも言えません。VBAには、そういうイレギュラーの方法があります。 >ファイルが壊れてるのでしょうか? ファイルが壊れていれば、例えば、メモリーリークするので、最後は、フリーズします。 たぶん違うはずです。

rrppfssrzsa
質問者

お礼

ご回答ありがとうございました。

その他の回答 (3)

noname#223464
noname#223464
回答No.3

No2です。 fnキー使わなくても止まりました。 大変失礼しました。

rrppfssrzsa
質問者

お礼

ご回答ありがとうございました。

noname#223464
noname#223464
回答No.2

VBAの中断は、ctrl+breakです。 ノートPCとかフルサイズ出ない場合で、pauseとbreakが同じキーであれば、fnキーも押さないと駄目ですよ。

rrppfssrzsa
質問者

お礼

ご回答ありがとうございました。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

マクロの実行が「進行中であれば」,ESCキーを押せば(押し続けていれば),マクロの命令が進んだところでブレイクします。 ただまぁ,ご相談の状況からすると単純にフリーズっぽくなってる様子ではありますけどね。 具体的にどんなマクロで症状が起きているのか不明なので「これが問題だ」と特定することは勿論できませんし,ご相談もそれをどうしたいという内容ではありませんが,いろんな不具合や故障の可能性はもちろんあると思います。 実際のマクロで,たとえばループの中でイミディエイトウィンドウに進行中のカウンタの値を debug.print 何か目安になる変数等の値 のようにして出力させて,ループが進行しているか目視で確認したり,マクロの随所に「ここまで進んだシルシ」をやはりdebug.printさせるなどで,「具体的にどの行で」マクロの処理が滞っているのか,探り出してから直接の原因を探ってみて下さい。

rrppfssrzsa
質問者

お礼

ご回答ありがとうございました。

関連するQ&A