Страницы: 1
RSS
остановка макроса кнопкой ESC
 
добрый день.
каким образом можно сделать так, чтобы нажимая Esc эксель предлагал или продолжить или остановить выполнения макроса.
чтобы не было DEBUG и СПРАВКА
спасибо
 
Пробуйте так:
Код
Sub UserInterupting()

  On Error GoTo exit_
  
  ' Перехватывать Ctrl-Break или Esc
  Application.EnableCancelKey = xlErrorHandler
  
  ' Предупредить о начале длительного процесса
  MsgBox "Начало длительной обработки. Для приостановки нажимайте Ctrl-Break или ESC"
  
  ' Какой-нибудь длительный процесс
  Do
  Loop
  
exit_:
  
  If Err = 18 Then
    ' Работа макроса была приостановлена пользователем
    If MsgBox("Работа макроса приостановлена," & vbLf & "Продолжить?", vbYesNo) = vbYes Then
      ' Продолжить
      Resume
    Else
      ' Завершить
      MsgBox "Работа макроса завершена"
    End If
  End If
  
  Application.EnableCancelKey = xlInterrupt

End Sub
Изменено: ZVI - 30.08.2017 02:25:41
Страницы: 1
Наверх