Я пытаюсь запустить определенный макрос за очень короткие промежутки времени, например каждую секунду, с определенного момента времени до определенного конечного момента времени. Это означает, что мне нужна начальная точка и точка отсечки. Я не могу использовать Workbook_Open() Event
, так как у меня уже есть другие макросы, запускаемые в разное время после открытия рабочей книги.Excel VBA: Application.OnTime не выполняется должным образом
Основная линия Я использую для запуска макроса один раз в секунду это psuedocode:
Application.OnTime Now + TimeValue("00:00:01"), "Path to Macro"
Из моих экспериментов до сих пор, любая попытка, которую я сделал в конечном итоге с двумя результатами. В первом случае он запускался с момента, когда я открыл книгу и с соответствующим расписанием раз в секунду. Однако первый случай был субоптимальным, так как мне нужно было немного подождать, прежде чем он запустится. Во втором случае он работал в то время, когда я хотел, чтобы он начинался - но он работал только один раз, что тоже не то, что я хотел.
Резюмируя:
мне нужно что-то вроде строки кода для запуска 15 минут после того, как Workbook открывается и остановка на 3 часа позже.
Большое спасибо К. Робинсон, это отличное решение, которое я реализую после выходных, но, похоже, имеет большой смысл. Должен сказать, я полностью забыл об использовании рутины, которая называет себя. Прошло некоторое время с тех пор, как я последний раз разбирался с кодом. Еще раз спасибо. Мне нравится этот сайт! – Yaron