VBA计时器|使用Excel VBA计时器功能的示例
Excel VBA TIMER功能
VBA计时器 是一个内置函数,用于为我们提供秒的小数部分,它是一个非常有用的函数,用于有时暂停任何正在运行的代码集或根据用户提供的时间恢复它们,而将计时器简单地用作VBA中带有时间输入的语句。
简而言之,TIMER给出了从当天午夜开始经过的总秒数。从代码的第一行开始,我们实际上可以跟踪代码花费的时间来完成子过程中指定的过程。
有时,当您编写代码并想要测试代码持续时间时,即代码完成子过程所花费的总时间是多少。通过测试代码的实际持续时间,可以通过从模块中删除不需要的代码或长代码来提高代码效率,并消除耗时的过程。
如何在VBA中使用TIMER功能?
正如我告诉TIMER函数,返回从当前日期的午夜过去的总秒数。在撰写本文时,印度的时间是13:50:45。
我已经创建了一个宏名称,并在VBA消息框中分配了TIMER的值。
代码:
Sub Timer_Example1()MsgBox计时器结束子
当我运行此代码时,结果为50480.08。
这是从今天午夜(即12:00:00 AM)过去的总秒数
因此,从午夜12点到当前时间14:01:20,总共14个小时1分20秒过去了。以秒为单位,它等于50480.08,这由我们的TIMER函数给出。
例子
您可以在此处下载此VBA Timer Excel模板– VBA Timer Excel模板Example#1 –计算您的代码所花费的总时间
现在,我们将执行一些简单的编码来测试VBA执行该过程所花费的时间。我已经写了一些代码,如下图所示。
代码:
Sub Do_Until_Example1()Dim ST as Single ST =定时器Dim x As Long x = 1直到x = 100000 Cells(x,1).Value = x x = x + 1 Loop MsgBox Timer-ST End Sub
如果我现在运行此代码,它将显示VBA执行所需的总时间。
它说3.058594,此函数给出的结果以秒为单位,即此代码花费的总时间为3.058秒。
为了您使用代码,我为您编写了以下代码。
代码:
Sub Timer_Example1()Dim StartingTime as Single StartingTime = Timer'在此处输入您的代码'在此处输入您的代码'在此处输入您的代码'在此处输入您的代码MsgBox Timer-StartingTime End Sub
使用上面的代码,然后在代码后键入您的代码 StartingTime =计时器 但在代码之前 MsgBox计时器– StartingTime 即在绿色区域中,您需要输入代码。
解释: 首先,变量 StartingTime =计时器 表示运行代码时等于从午夜到代码运行时间所经过的时间。
计时器–起始时间: 这意味着在运行代码后,经过可变的开始时间后,经过的时间减去在代码开头记录的时间.
这将给出开始时间和结束时间之间的时差,并返回结果。
Example#2 –以正确的时间格式显示结果
如我们所见,函数给出的结果以秒为单位,但格式不正确。但是,我们可以使用FORMAT函数将VBA时间格式应用于最终结果。
使用以下代码以正确的时间格式(即“ hh:mm:ss”)查看结果。
我在这里使用了FORMAT函数。结果由下式给出 (计时器-开始时间)。 我已将其除以数字86400,按照时间格式规则将其转换为秒,然后将时间格式应用为小时,分钟和秒格式。
现在,如果我运行代码,它将给出这样的结果。
因此,该代码花费的总时间为3秒。
这段代码的妙处在于,它经过60秒后将以分钟为单位显示结果。我已暂停我的代码运行一分钟(使用Ctrl + Break)并查看结果。
因此,此代码现在花费的总时间为1分2秒。
Example#3 –计时器的替代代码
TIMER的替代方法是使用 现在 () 功能。下面是替代代码。
要记住的事情
- 计时器功能将在一天结束时(即晚上11:59:59)保留该值。
- NOW函数返回当前日期和当前时间。
- TIMER显示从当前日期午夜过去的总秒数。