当数字达到零时,多个倒数计时器出错



我正在尝试学习倒计时宏,我从Jerry Beaucaire的网站下载了这个文件。谢谢杰瑞!我稍微调整了一下。我没有计算从 0 到无限数字的值,而是从我在 C 列中键入的数字中将值倒计时到零。但是当数字达到零时会发生错误。如何修复此错误?当数字达到零时,如何使 A 列中的按钮切换回"DOWN"?

Dim CountDown As Date
Sub Timer()
DisableTimer
CountDown = Now + TimeValue("00:00:01")
Application.OnTime CountDown, "Reset"
End Sub
Sub Reset()
Dim Counter As Range
Application.ScreenUpdating = False
Application.EnableEvents = False
If Evaluate("COUNT(B2:B5)") = 0 Then
    Call DisableTimer
Else
    For Each Counter In ThisWorkbook.Sheets("Sheet1").Range("B2:B5")
        If Not IsEmpty(Counter) Then Counter = Counter - TimeValue("00:00:01")
    Next Counter
    Call Timer
End If
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
Sub DisableTimer()
On Error Resume Next
Application.OnTime EarliestTime:=CountDown, Procedure:="Reset", Schedule:=False
End Sub

源文件

替换这个:

If Not IsEmpty(Counter) Then Counter = Counter - TimeValue("00:00:01")

有了这个:

If Counter > TimeValue("00:00:01") Then
  Counter = Counter - TimeValue("00:00:01")
Else
  Counter = ""
End If

最新更新