ホーム > カテゴリ > Excel・VBA >

ESCキーでVBAを停止させない[ExcelのTIPS]

VBAを実行中にESCキーを押すと処理が停止されてしまいます。プログラムによっては途中で停止されてしまいますと予期せぬ不具合になってしまう場合があります。今回はその停止を回避する方法をご紹介します。

ApplicationのEnableCancelKeyに「xlDisabled」を設定するとESCキーボタンを無効にします。有効にするには「xlInterrupt」を設定します。

Private Sub CommandButton1_Click()
  Dim i As Long
  Application.EnableCancelKey = xlDisabled
  
  ' 重い処理
  For i = 0 To 100000
    Range("A1") = i
  Next
 
  Application.EnableCancelKey = xlInterrupt
End Sub

プロシージャなどの処理が完了すると自動的にEnableCancelKeyに「xlInterrupt」が設定されてESCキーが有効になります。ただ、明示的に有効にした方がプログラム的にはわかりやすいです。

エクセル講座のクイックリンク

ホーム 新機能 基本(初級) 基本(中級) 基本(上級) 関数 マクロ VBA TIPS





関連記事



公開日:2016年01月11日
記事NO:01699