• ベストアンサー

Escキーを押すと、中断する時としない時がある

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

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

  • ベストアンサー
  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.1

AELAFAYQDIZ さん こんにちは。 確かに中断のキーが効く場合と効かない場合がありますね。 私もはっきりしていません。 単純には「キーボードを受け付けない状態の処理をしている」とのことだと思います。 よって「何故効かないのか」では無く「効く」ようにできないかをを考えたほうが良いかも知れません。 、 1.ループ命令の中の「DoEvents」を追加する。   DoEventsを入れることにより、キーボード入力を受け付けるようになります。    Sub TEST()     Do      DoEvents     Loop    End Sub 2.中断の方法を選ぶ  中断には3種類あるかと思います。   ・Escキーによる中断   ・Ctrl + Break キー による中断   ・VBEの中断ボタン による中断  「Escキー」より「Ctrl + Break キー」の方が一般的で中断が効きやすいと思います。 以上、色々と試してみて下さい。

AELAFAYQDIZ
質問者

お礼

ありがとうございます。

関連するQ&A

  • Escキーを押しても中断されなかった

    Do Loop Until をしてる時は、Escキーを押しても中断はされないのでしょうか? と言うかされませんでした。 アクセスでIE操作をしてましたが、どちらかが原因ですか?

  • Excel 2003 VBAにてマクロの実行中にESCキーにて中断されないようにしたい

    Excel 2003 にてマクロの実行中にESCキーを押されるとコードの実行が中断されるのを抑制したいのですができません。 シートに直接テキストボックスコントロールを貼り付けています。 そのテキストボックスにKeyDownイベントプロシージャを記述しています。 テキストボックスにIMEの全角文字を入力中(未確定状態)の時に、ESCキーを押すとコードの実行を中断しましたというダイアログが出てしまいます。 KeyDownイベントプロシージャの内容の有無にかかわらず(処理は無記入でも)、ESCキーを押すとダイアログが表示されてしまいますので、ESCキーを押してもダイアログが表示されず処理が中断されない方法はありませんでしょうか。 調べましたところ、 Application.EnableCancelKey = xlDisabled にてESCキーを無効にする事ができるそうなのですが、BOOKを開いた時のイベントにて 上記コードを記載しているのですが、抑制はできません。 何かしら別の方法で対応などはできないものなのでしょうか。 よろしくご教示をお願い申し上げます。

  • ユーザーフォームを「Esc」キーで消去できるようにしたい。

    こんばんは。 エクセル2003で、VBAでユーザーフォームを挿入し、 show modalをfalseにし、 「マクロの実行」でエクセルの画面に戻った時に、 「Esc」キーでユーザーフォームを消去することは不可能でしょうか? 何かやり方があったら教えて欲しいです。 よろしくお願いします。

  • PC左上のEscキーはどう使うのでしょうか?

    PC左上のEscキーはどう使うのでしょうか? 検索して調べたら、「エスケープキー」というもので作業中断に使える、使用中のページを中断できるということは理解できたのですが、実践しようとインターネットのページやエクセルの使用中のページで試しに押してみても何も変化しません・・・ いつ、どういう場面で試用できるキーなのでしょうか? 例えばこのシーンで押したら、画面が変わるというものを具体例でご教授お願いします。

  • Access2000VBAでEscキーを禁止!

    Access2000VBAでEscキーを2回押すと入力していた内容が消えたんです。 なぜ?どうして?教えてください!ぜひお願いします。 出来れば「Esc」キーを禁止するにはどういった方法があるのか教えて ください。初歩的な質問ですみません・・・。

  • マクロを中断する場合

    マクロを中断する場合、 escキーか Ctrl+Breakを押すかだと思いますが、 この二つのキーは違う動作をしますか? escキーで中断できないのに、Ctrl+Breakだと中断出来る時があります。 Ctrl+Breakの方が強力なのでしょうか?

  • ESCキーを押しちゃった

    初歩的な質問かもしれませんが、CD-Rのケースのラベルを作成中に半角/全角の切り替えをしようと思って、間違えてESCキーを押してしまったので、20分以上もかけて書き込んだテキストが全部消えてしまいました。 これって修復できないのでしょうか?…〔質問その1〕 このサイトで質問や回答を書くときにも同じことが起きます。 私がタイプが下手ということもあるのでしょうけど、そもそも何故あんな打ち間違えやすい位置に使用頻度の低いESCキーがあるんでしょうか?…〔質問その2〕 途中でこまめにコピペしとけとか、メモ帳に書いてから貼り付けろ、というアドヴァイスは予想できるので、そういったアドヴァイスはご容赦ください。それ以外のこと(ESCを押すとタイプしたテキストはPC内のメモリーには残らないのか?ESCキーは何故あの位置にあるのか?等)で何か教えてください。

  • Excel VBA Escキー押下をコードで表わすと…

    Excel VBA Escキー押下をコードで表わすと… Excel2003を使用しています。 ある列をダブルクリックすると、指定した範囲のセルを塗りつぶすイベントマクロを作成しました。 ダブルクリックで塗りつぶされた後は、セルが編集状態になっているので、Escキーを押して編集状態を解除していましたが、Escキーを押して編集状態を解除するところまでをコードに書いたらどうかと思い、塗りつぶしを指定しているコードの後に、『SendKeys "{ESC}"』と追加してみたのですが、追加する前と同じ状況で、編集状態のままでした。 Enterや↓キーを押した場合を試しに書いてみると、塗りつぶされた後、1つ下のセルに移動しました。 コードを追加した場所がいけないのか、それとも、使い方が間違っているのか…?? どなたかわかる方がいらっしゃいましたら、教えていただけないでしょうか。 よろしくお願いします。

  • フォルダ参照ダイアログAPIをVBAに組み込んだときのESCキー押下

    フォルダ参照ダイアログAPIをVBAに組み込み、フォルダ選択画面が表示されたとき、ダイアログ上の「OK」「キャンセル」以外に、キーボードの「ESC」キーを押下すると、VBAの「コードの実行を中止」ダイアログが表示されプログラムの実行が中断します。「ESC」キーを押下しても「キャンセル」と同等の処理で、「コードの実行を中止」ダイアログを表示しないようにできるでしょうか。お知恵をお貸しください。

  • ワードでESCキーが反応しない

    ワードで文字入力をしたときに、変換中の文字列を元に戻したり、入力違いをしたとき元に戻すときにESCキーをよく使いますが、最近自分のPCのワードでESCキーが反応しません。つまりESCキーで取り消しをして入力をやり直したくても、まったく反応しないので、仕方なく間違ったままでENTERで確定し、BackSpaceキーで文字列を消さなければなりません。EXCELやIEの検索に入力する文字はちゃんとESCキーがききます。ということは、ワードのどこかでそういう設定があるのかと思って、いろいろさがしていますが、みつかりません。どなたかわかる方お助けをお願いいたします。

専門家に質問してみよう