如何在仍可以更改工作表中的值的情况下在vba excel中执行Do Event计时器?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在仍可以更改工作表中的值的情况下在vba excel中执行Do Event计时器?相关的知识,希望对你有一定的参考价值。
我有一个计时器,我正在通过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
答案
我想到了!
如果我只是在接下来的错误恢复上,那么它运行良好,足以满足我的需求。
以上是关于如何在仍可以更改工作表中的值的情况下在vba excel中执行Do Event计时器?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不使用 VBA 的情况下在 Excel 中转换 HEX 和 DEC 之间的大数字?