Работа по расписанию в Эксель
Как запустить выполнение макроса по расписанию. Обработка события в указанное время.
Потенциал такого макроса достаточно широк - от предварительной подготовки отчета до выполнения рядовых задач, для которых ранее было необходимо присутствие человека на рабочем месте.
К статье приложен файл-пример, в файле есть подготовленная форма для работы:
- В ячейку G4 нужно вставить время, в которое нужно запустить целевой макрос
- В ячейку I4 нужно вставить имя макроса, который будет запусаться в указанное время
- Кнопка для запуска работы по расписанию
Скриншоты
Возможность работы по расписанию реализуется благодаря функции VBA Application.OnTime. Ниже указан полный код макроса
Dim TimeTest As Date, MacroName As String
TimeTest = Range("G4").Value
'TimeTest = Format([G4], "hh:mm:ss")
'TimeTest = [G4].Text
MacroName = Range("I4").Value
'Application.OnTime TimeValue(TimeTest), "Рабочий_макрос"
Application.OnTime TimeValue(TimeTest), MacroName
End Sub
Комментами в коде предложены альтернативные варианты написания макроса
В целевой макрос можно указать любую обработку событий, которая в пределах возможности VBA - от открытия другого файла и копирования от туда данных до импорта статистики продаж с сервера.
В нашем примере в целевом макросе просто всплывающее окно с заданным текстом:
Sub Рабочий_макрос()
MsgBox ("Привет! Давай знакомиться. Я макрос! Я могу многое, могу упростить тебе жизнь, но только если я узнаю тебя поближе.")
End Sub
Добавлять комментарии могут только зарегистрированные пользователи.
[
Регистрация |
Вход ]