我正在尝试设置一个基本的秒表来跟踪经过的时间。Button1
应该从0开始计时,Button2
应该停止计时并记录从计时器开始计时以来经过了多少分钟和秒。我将按钮放在工作表上,只需要一种方法来计算经过的时间。最好的方法是什么?下面是我一直在使用的代码:
Private Sub CommandButton1_Click()
startTime = Timer
End Sub
Private Sub CommandButton2_Click()
Dim finalTime As Single
finalTime = Timer - startTime
MsgBox Format(finalTime, "0.00")
End Sub
这段代码的问题是,它只在我单击Button2
后显示经过的时间。我需要在Excel工作表上运行计时器。
2条答案
按热度按时间kwvwclae1#
youtube
link
gdrx4gfi2#
如果你需要精确度,Excel可能不是合适的工具,但如果足够接近就是足够接近,那么我会这样做。
在标准模块中:
在Sheet1的类模块中
单击Button1时,gbStop设置为false,开始时间记录在公共变量中,UpdateTime过程计划在1秒后运行。
一秒钟后,UpdateTime将运行,名为rngTimer的单元格的值将更改为显示从Now到Button1_Click中记录的开始时间之间经过的时间。如果gbStop仍为False,UpdateTime将调度自己在另一秒钟后再次运行。
最后,您按下Button2,将公共变量gbStop设置为True。下一次运行Updatetime时,它不会安排自己再次运行。