Вот пример, показывающий, как можно завершить выполнение кода до вызова события OnTime
.
Поместите приведенный ниже код в модуль ThisWorkbook
:
Private Sub Workbook_Open()
Application.OnTime Now + TimeValue("00:00:01"), "EndlessLoop"
Application.OnTime Now + TimeValue("00:00:08"), "TerminateRunning"
Application.OnTime Now + TimeValue("00:00:11"), "EndlessLoop"
Application.OnTime Now + TimeValue("00:00:18"), "TerminateRunning"
Application.OnTime Now + TimeValue("00:00:21"), "EndlessLoop"
Application.OnTime Now + TimeValue("00:00:28"), "TerminateRunning"
End Sub
Поместите нижекод для стандартного модуля:
Sub EndlessLoop()
Do
Cells(1, 1) = Timer
DoEvents
Loop
End Sub
Sub TerminateRunning()
End
End Sub
Обратите внимание, что вы должны последовательно распределять оператор DoEvents
по всему коду, чтобы события вступали в силу мгновенно.