我有一个倒计时计时器,我想反复重启。但是,每次随后调用下一个TmrPck Sub时,它都会将倒计时时间递增一秒。请注意,当我更改活动工作表时,它会正确停止,但是当再次调用该子表时,它的倒计时会更快。 gCount在每次调用时都是增量构建的,或者xRng.Value的TimeSerial减少是增量构建的。我需要解决这两个问题中的哪一个,我将如何处理?很抱歉,我的电子表格中Range(“ B9”)的起始值很奇怪,为0.001047,正好对应于下一次计时器启动的1分30秒。
我已尝试在停用工作表但失败时清除gCount变量。
“以下是工作表中的代码,而不是标准模块:
Public Sub TimrPck()
Dim gCount As Date
gCount = Now + TimeValue("00:00:01")
Application.OnTime gCount, "ResetTime"
End Sub
Public Sub ResetTime()
Dim xRng As Range
Set xRng = Workbooks("TenderAuction.xlsm").Sheets("Pck").Range("B9")
xRng.Value = xRng.Value - TimeSerial(0, 0, 1)
If xRng.Value <= 0 Then
SuperTalk2 "Due to time expiring, ", "Girl", 1, 100
'Do other work
Range("B9") = 0.001047
Exit Sub
End If
If Application.ActiveSheet.Name = "Pck" Then
Call TimrPck
Else
End If
End Sub
每次调用此潜水艇时,尝试获得干净的标准一秒倒计时速度