在指定的时间间隔内重复宏

时间:2019-07-10 15:42:42

标签: excel vba

我有四个宏,我想按指定顺序每10分钟运行一次。目前,我只是设置了运行它们的提醒,但想自动化该过程。理想情况下,我希望有一个单独的宏,该宏每10分钟重复执行所有四个宏。

我尝试在四个宏的末尾添加Application.OnTime Now + TimeValue("00:10:00"), "Macro_Name"。问题是其中两个宏需要一些时间来处理。

还尝试创建一个单独的宏“ Repeat_10mins”,并使用OnTime函数对其进行构建。似乎只能工作一次,并且不会重复(即在设置后运行10分钟,但不会重复)。

Sub Repeat_10mins

Workbooks("Book1.xlsm").RefreshAll

'Repeat Macro1
 Application.OnTime Now + TimeValue ("00:10:00"), "Macro1"

'Repeat Macro2
 Application.OnTime Now + TimeValue ("00:10:00"), "Macro2"

(etc for Macro 3/4)

End Sub

1 个答案:

答案 0 :(得分:0)

您将需要再创建一个这样的宏:

Sub Timer()

Application.OnTime Now + TimeValue("00:10:00"), "operation"

End Sub

operation是您要每10分钟运行一次的宏的名称。

在您建立的宏上,您只需要在末尾添加Call Timer的一行即可。

说明: 在宏operation的末尾,它将调用宏timer,该宏将在10分钟内运行operation

让我知道它是否有效,或者您是否需要其他帮助。