【发布时间】:2020-09-27 15:54:42
【问题描述】:
我想从子例程中为 FOR LOOP 的每次迭代调用一个倒数计时器;其中计时器的持续时间基于它从循环循环通过的范围内的单元格中获取的值。
例如,单元格 A1:A5 的值分别为 15、15、20、20、30。我想运行一个基本上从 A1 开始的宏,捕获 15,然后启动倒数计时器 15 秒,当它达到 0 时,它移动到 A2 并重复该过程。
它没有按预期工作。
当我执行主例程以在上述范围内循环并为范围内的每个单元格调用 Start_Timer 例程(依次调用 Next_Moment 例程直到计时器达到零并退出子例程)时,它似乎正在循环完美的范围并增加持续时间。
但是当调用 Start_Timer 例程时,它不会执行计时器倒计时,直到循环完全循环之后,并且当它执行时计时器不会以秒为间隔减少。
但是,如果我在循环之外调用 Start_Timer,则计时器可以正常工作,但显然它只运行倒数计时器一次。
有什么想法吗?
我在调用 Start_Timer 之前和之后都尝试过使用 DoEvents,但什么也没用。
【问题讨论】:
-
考虑添加一些代码。还要避免感谢和类似的寒暄。如果有人在这个论坛上帮助你,他们已经在这样做了。
-
请永远不要使用
DoEvents。
标签: vba loops countdowntimer subroutine