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

エクセルVBAです

VBAでループしているときに、Escキーを押すと、中断する時としない時があるのですが
しない時はなぜしないのでしょうか?

A 回答 (1件)

AELAFAYQDIZ さん


こんにちは。

確かに中断のキーが効く場合と効かない場合がありますね。
私もはっきりしていません。
単純には「キーボードを受け付けない状態の処理をしている」とのことだと思います。
よって「何故効かないのか」では無く「効く」ようにできないかをを考えたほうが良いかも知れません。

1.ループ命令の中の「DoEvents」を追加する。
  DoEventsを入れることにより、キーボード入力を受け付けるようになります。
   Sub TEST()
    Do
     DoEvents
    Loop
   End Sub

2.中断の方法を選ぶ
 中断には3種類あるかと思います。
  ・Escキーによる中断
  ・Ctrl + Break キー による中断
  ・VBEの中断ボタン による中断

 「Escキー」より「Ctrl + Break キー」の方が一般的で中断が効きやすいと思います。

以上、色々と試してみて下さい。
    • good
    • 1
この回答へのお礼

ありがとうございます。

お礼日時:2014/01/01 19:17

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

このQ&Aを見た人はこんなQ&Aも見ています