2014.
03.
15
17:17:53
結論から書けば、VBAコード内に
と書けばOKです。
それでは経緯とかを書いていきますね。
うっかり忘れがちですが、VBAの実行中にEscキーやCtrl+Pause/Breakキーを押すと
こんな画面が出てきて処理が中断しますφ(--)

これはよろしくない。
Excelで簡易的なVBAを組むことは多いのですが、それを実際に使うのは事務の人とかです。
処理中にうっかりEscキーを押しちゃうこともあるかもしれないじゃないですか。
そして何かよく分からない画面が出てきたら慌てちゃいます。
プログラム側としても処理が途中で止まってしまうのは決して喜ばしくありません。
VBAの処理中断を無効にしたいな~というのが経緯です。
それでは早速調べてみましょうか。
ふむふむ(--)
コードの先頭とかに
と書けば良いらしい。
その名の通りキャンセルキーをdisabledにするってことですね。
早速実験してみましょう。
まずは普通の奴から。
こんなコードを動かしてφ(--)
Escキーを押したら処理が中断しました。これは普通。
「Application.EnableCancelKey = xlDisabled」を加えて
としたら……おぉ、確かに無効になってる。
Escキーを押してもCtrl+Pause/Breakキーを押しても処理が中断しない。
やったー\(--)/
注意点として、このコードを埋めるのは最後の最後にしましょう。
作っている最中は中断できないと困りますからね。
何かの間違いで無限ループとか入ると、ちょっと焦ることになるかもしれません。
そんな感じで、VBAコード実行中断の抑制、完了\(--)/
Application.EnableCancelKey = xlDisabled
と書けばOKです。
それでは経緯とかを書いていきますね。
うっかり忘れがちですが、VBAの実行中にEscキーやCtrl+Pause/Breakキーを押すと
こんな画面が出てきて処理が中断しますφ(--)

これはよろしくない。
Excelで簡易的なVBAを組むことは多いのですが、それを実際に使うのは事務の人とかです。
処理中にうっかりEscキーを押しちゃうこともあるかもしれないじゃないですか。
そして何かよく分からない画面が出てきたら慌てちゃいます。
プログラム側としても処理が途中で止まってしまうのは決して喜ばしくありません。
VBAの処理中断を無効にしたいな~というのが経緯です。
それでは早速調べてみましょうか。
ふむふむ(--)
コードの先頭とかに
Application.EnableCancelKey = xlDisabled
と書けば良いらしい。
その名の通りキャンセルキーをdisabledにするってことですね。
早速実験してみましょう。
まずは普通の奴から。
こんなコードを動かしてφ(--)
Sub ボタン1_Click()
Debug.Print "start"
For i = 0 To 10000
Debug.Print i
Next
Debug.Print "end"
End Sub
Debug.Print "start"
For i = 0 To 10000
Debug.Print i
Next
Debug.Print "end"
End Sub
Escキーを押したら処理が中断しました。これは普通。
「Application.EnableCancelKey = xlDisabled」を加えて
Sub ボタン1_Click()
Application.EnableCancelKey = xlDisabled
Debug.Print "start"
For i = 0 To 10000
Debug.Print i
Next
Debug.Print "end"
End Sub
Application.EnableCancelKey = xlDisabled
Debug.Print "start"
For i = 0 To 10000
Debug.Print i
Next
Debug.Print "end"
End Sub
としたら……おぉ、確かに無効になってる。
Escキーを押してもCtrl+Pause/Breakキーを押しても処理が中断しない。
やったー\(--)/
注意点として、このコードを埋めるのは最後の最後にしましょう。
作っている最中は中断できないと困りますからね。
何かの間違いで無限ループとか入ると、ちょっと焦ることになるかもしれません。
そんな感じで、VBAコード実行中断の抑制、完了\(--)/