Повторите макрос для указанного интервала времени - PullRequest
0 голосов
/ 10 июля 2019

У меня есть четыре макроса, которые я хочу запускать каждые 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 голосов
/ 10 июля 2019

Вам нужно будет создать еще один макрос, подобный этому:

Sub Timer()

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

End Sub

Где operation - это имя макроса, который вы хотите запускать каждые 10 минут.

В построенный вами макрос вам нужно добавить только одну строку в конце, которая будет Call Timer.

Объяснение: В конце макроса operation он вызоветмакрос timer, который через 10 минут запустится operation.

Дайте мне знать, если он работает или вам нужна дополнительная помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...