当第二次被调用时,计时器计数两次​​一样快

时间:2019-08-06 04:02:10

标签: excel vba timer countdown

我有一个倒计时计时器,我想反复重启。但是,每次随后调用下一个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

每次调用此潜水艇时,尝试获得干净的标准一秒倒计时速度

0 个答案:

没有答案