Vba 当一个数字达到零时,多个倒计时错误

Vba 当一个数字达到零时,多个倒计时错误,vba,excel,Vba,Excel,我试图学习倒计时宏,我从Jerry Beaucaire的网站下载了这个文件。谢谢你,杰瑞! 我稍微调整了一下。我没有将一个值从0数到一个无穷大的数字,而是将一个值从我在C列中键入的数字倒计时到零。但是当一个数字达到零时,就会发生错误。如何修复此错误?当一个数字为零时,我如何使a列中的按钮切换回“向下” Dim CountDown As Date Sub Timer() DisableTimer CountDown = Now + TimeValue("00:00:01") Applicatio

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

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 Counter > TimeValue("00:00:01") Then
  Counter = Counter - TimeValue("00:00:01")
Else
  Counter = ""
End If
替换此项:

为此:

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

excel中没有负时间这类东西。一旦你达到零,你就不能再从时间值中减去另一秒。我希望当一个数字达到零并且没有错误消息弹出时,倒计时停止。我还希望当一个数字达到零时,开关自动切换回OFF。我该怎么做?如果单元格的值小于1秒,请不要从单元格的值中减去1秒。您能告诉我一些细节吗?我应该写什么代码?我应该把代码放在哪里?excel中没有负时间这样的东西。一旦你达到零,你就不能再从时间值中减去另一秒。我希望当一个数字达到零并且没有错误消息弹出时,倒计时停止。我还希望当一个数字达到零时,开关自动切换回OFF。我该怎么做?如果单元格的值小于1秒,请不要从单元格的值中减去1秒。您能告诉我一些细节吗?我应该写什么代码?我应该把代码放在哪里?非常感谢!非常感谢你!