Я пытался построить таймер обратного отсчета, используя VBA, и результат может быть динамически выведен в ячейку Excel. Я позволил процедуре abc и def рекурсивно вызывать друг друга (не устанавливал точку остановки только для тестирования), и это работало. Однако позже с тем же самым кодом я снова запустился, не удалось, и сообщение об ошибке было:
Выполнение кода было прервано.
Просто не могу понять, почему, я ничего не изменил, как это могло сработать, а потом потерпеть неудачу?
Я пробовал On Error Resume Next
и Application.DisplayAlert = False
, оба не останавливают всплывающее сообщение об ошибке и прерывание выполнения кода. И если я перейду к процедуре, это будет нормально ...
Также я хочу добавить динамический текст, такой как «начать через сколько секунд», как в комментарии в другой ячейке. Может ли это быть реализовано таким образом?
Спасибо!
Sub abc()
[a1] = [a1] - 1
' [a2] = "Start in " & [a1] & " seconds."
Call def
End Sub
Sub def()
Application.Wait (Now + TimeValue("0:00:01"))
Call abc
End Sub