プロシジャで処理をしている最中にESCを押下すると、デフォルトで下のような画面が出力されます。この画面を出力させずにプロシジャ内でエラーを処理したい場合、EnableCancelKeyを使用します。
SubErrorHandlerTest()
DimretAs Integer
On Error GoToErrorHandler
Application.EnableCancelKey = xlErrorHandler'実行中のプロシージャにエラーを返却します。
・
適宜処理
・
Exit Sub
ErrorHandler:
Select CaseErr
Case18'ESCキー押下
ret = MsgBox("中断されました。続行しますか?", vbYesNo, ThisWorkbook.Name)
Ifret = vbYesThen
Resume
Else
Exit Sub
End If
Case Else
ret = MsgBox("<" & Err & ">" & Error(Err), vbOK, ThisWorkbook.Name)
Exit Sub
End Select
End Sub