尝试在VBA中创建计时器。我的意图是能够在其他功能中调用TimerStart
,TimerLaps
和TimerStop
来估算代码块完成所需的时间。但我的全局变量是空的,我遇到了问题。
Private starttime As Double
Sub TimerStart()
starttime = Timer
End Sub
Function TimerLaps() As Double
TimerLaps = Timer - starttime
End Function
Function TimerStop() As Double
i = starttime
starttime = 0
TimerStop = Round(Timer - i, 2)
End Function
Sub test()
Call TimerStart
MsgBox TimerStop()
End Sub
谢谢你们!
答案 0 :(得分:1)
您可以两种方式使用:
Global starttime As Double
和
Public starttime As Double
使用其中一个而不是Private
。主要的不同是:
全局只能在标准模块中使用,而公共可以在所有上下文中使用(模块,类,控件,表单等)。 strong>全球来自旧版本的VB,可能会保留向后兼容性,但已被公开完全取代。
答案 1 :(得分:0)
尝试:
Global starttime As Double
位于模块顶部
(而不是Private starttime As Double
)
修改强>
Global starttime As Double
Sub test()
Call TimerStart
Application.Wait (Now + #12:00:02 AM#)
MsgBox TimerStop()
End Sub
Sub TimerStart()
starttime = Timer
End Sub
Function TimerStop() As Double
Dim i As Double
i = starttime
starttime = 0
TimerStop = Round(Timer - i, 2)
End Function