excel - 如何在 vba excel 中执行 Do Event 计时器,同时仍然能够更改工作表中的值?

标签 excel vba timer doevents

我有一个计时器,我正在通过 DoEvents 积极运行功能。问题是每三十秒我想在我的工作表中手动输入一些温度值。但是,如果我在事件运行时这样做,我会得到:

Run-time error '1004': The specified dimension is not valid for the current chart type.



一些想法:我打算尝试关闭屏幕更新,但这会让我无法实时看到时间变化。

事件事件是否使我无法处理我的文档?如果是这样,有没有办法解决这个问题?

这是我的代码主体(我也有一个用于停止和重置计时器的子,但我认为这不相关):
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

最佳答案

我想到了!

如果我只是在下一个错误恢复,那么它运行得很好,可以满足我的需要。

关于excel - 如何在 vba excel 中执行 Do Event 计时器,同时仍然能够更改工作表中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55607791/

相关文章:

Excel,多个单元格,一个值

vba - 使用 VBA 将文本添加到单元格,而不删除单元格中已有的内容

excel - 如何剪断一根绳子的一部分?

excel - 将 Outlook 中选定电子邮件的电子邮件正文显示为 Excel 中的消息框?

c# - 将excel中的特定工作表转换为csv

vba - 宏录制定义单元格名称

VBA 是使用 Find 方法更快地搜索单元格还是遍历每个单元格?

ios - 从 SpriteKit Swift 中的 TimerLabel 中删除多余的零

javascript - 多个倒计时器

java - 用计时器改变圆圈的颜色