У меня есть таймер, который я активно запускаю через функцию DoEvents
.Проблема в том, что каждые тридцать секунд я хочу вручную помещать некоторые значения температуры в свой рабочий лист.Однако, если я делаю это во время работы события, я получаю:
Ошибка времени выполнения '1004': указанное измерение недопустимо для текущего типа диаграммы.
Некоторые мысли: я собирался отключить обновление экрана, но это не позволило бы мне увидеть изменение времени в реальном времени.
Не позволяет ли активное событие не работать в моем документе?И если так, есть ли способ обойти это?
Вот тело моего кода (у меня также есть подпрограмма для таймера остановки и сброса, но я не думаю, что это уместно):
Sub START_TIMER()
Dim sh As Worksheet
Set sh = ThisWorkbook.ActiveSheet
sh.Range("AI1").Value = "Start"
If sh.Range("AI2").Value = "" Then
sh.Range("AI2").Value = Now
sh.Range("AL2").Value = Now
End If
x:
VBA.DoEvents
If sh.Range("AI1").Value = "Stop" Then Exit Sub
sh.Range("AI3").Value = Now
sh.Range("AL3").Value = Now
If sh.Range("AL4").Value > TimeValue("00:00:29") Then
sh.Range("A17").Interior.Color = vbYellow
sh.Range("AL2").Value = Now
Beep
Else
sh.Range("A17").Interior.Color = vbWhite
End If
GoTo x
If sh.Range("AL4").Value = "0:00:30" Then
sh.Range("AL2").Value = Now
End If
End
End Sub