我有一个计时器,我正在通过DoEvents
功能积极运行。问题是每30秒我想手动将一些温度值放在我的工作表中。但是,如果我在事件运行时这样做,我得到:
运行时错误“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
我想到了!
如果我只是在接下来的错误恢复上,那么它运行良好,足以满足我的需求。