再次调用计时器宏之前退出它

问题描述 投票:0回答:1

我有一个工作正常的Excel倒计时宏,但是如果在第一个版本运行到零之前第二次调用它,我需要能够退出例程...现在,当用户在时间为0时创建交易时倒计时,它开始计时,但第一个调用(仍在倒计时)不会退出,计数器重置,然后继续倒数 2,如果再次发生这种情况,它会重置并倒数 3,所以显然是之前的调用仍在运行。我需要一种方法来确定较早的倒计时例程是否处于活动状态,并在启动另一次调用之前退出这些例程。

我打算尝试将计数器的当前值传递到例程(作为变量),然后检查它是否大于运行的值,但由于那仍然是 AM51,我认为这不起作用,或者它可能会立即退出对例程的任何调用。

如有任何帮助,我们将不胜感激。这是例程(AM51 具有初始定时器值,该值在调用 StartClock 之前由另一个子例程设置)。

子启动时钟()

将时钟调暗为日期

时钟 = 现在 + TimeValue("00:00:01")

如果范围(“AM51”).Value = 0 那么

Exit Sub

结束如果

如果范围(“AM51”).值< 7 Then

Beep

结束如果

范围(“AM51”)=范围(“AM51”)- 1

Application.OnTime 时钟,“StartClock”

结束子

excel timer macros exit
1个回答
0
投票

Application.OnTime()
Schedule
作为第四个参数。如果您将其设置为
False
,则会取消计时器。棘手的部分是跟踪最初用于启动计时器的
Clock
参数。

© www.soinside.com 2019 - 2024. All rights reserved.