プロが教えるわが家の防犯対策術!

vbaを実行して中々終わらないので、強制終了しようとリセットボタンを押してもとまりません。
ctrl+pauseを押しても、うんともすんともいいません。

×ボタンで閉じようとしても閉じません。
タスクマネージャーから強制終了すればとまるのですが、
なぜこのような事が起こるのでしょうか?

1日1回の頻度で起こります。
ファイルが壊れてるのでしょうか?

「VBAが止まらない」の質問画像

A 回答 (4件)

こんにちは。



無限ループが発生しているなら、ループの中で、
DoEvents
を入れれば、割り込み信号が入りますから、止まりやすくはなりますが、
質問に対する解決になるのか、こちらでは分かりません。

意図的か不可抗力で、無限ループなどを発生するのか、させているのかどうかさえ、質問文では分かりません。意図的なら、そのコードを見せてくれれば、それなりに、その正規の離脱法を披露できると思いますが、今の状態ではなんとも言えません。VBAには、そういうイレギュラーの方法があります。

>ファイルが壊れてるのでしょうか?
ファイルが壊れていれば、例えば、メモリーリークするので、最後は、フリーズします。
たぶん違うはずです。
    • good
    • 1
この回答へのお礼

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

お礼日時:2014/07/12 09:29

No2です。


fnキー使わなくても止まりました。
大変失礼しました。
    • good
    • 3
この回答へのお礼

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

お礼日時:2014/07/12 09:29

VBAの中断は、ctrl+breakです。


ノートPCとかフルサイズ出ない場合で、pauseとbreakが同じキーであれば、fnキーも押さないと駄目ですよ。
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/07/12 09:29

マクロの実行が「進行中であれば」,ESCキーを押せば(押し続けていれば),マクロの命令が進んだところでブレイクします。


ただまぁ,ご相談の状況からすると単純にフリーズっぽくなってる様子ではありますけどね。

具体的にどんなマクロで症状が起きているのか不明なので「これが問題だ」と特定することは勿論できませんし,ご相談もそれをどうしたいという内容ではありませんが,いろんな不具合や故障の可能性はもちろんあると思います。

実際のマクロで,たとえばループの中でイミディエイトウィンドウに進行中のカウンタの値を
debug.print 何か目安になる変数等の値
のようにして出力させて,ループが進行しているか目視で確認したり,マクロの随所に「ここまで進んだシルシ」をやはりdebug.printさせるなどで,「具体的にどの行で」マクロの処理が滞っているのか,探り出してから直接の原因を探ってみて下さい。
    • good
    • 1
この回答へのお礼

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

お礼日時:2014/07/12 09:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!