Главная » Статьи » VBA и макросы |
Макросы - последовательность логических команд заключены в единую процедуру с уникальным именем. Срабатывает макрос при возникновении некоторого события: нажатие на кнопку, выбор элемента из списка, переключение между листами или при непосредственном вызове. Пример процедуры: Sub procedure_name()
Dim s As String
End Subs = Range("A1").Value MsgBox s , где procedure_name - уникальное имя процедуры, которое мы будем использовать в проекте. Обратите внимание такого вида процедура выполняет какие-то действия и не возвращает никакого ответа, и мы не можем оценить насколько удачно былы выполнены все инструкции внутри. Существует альтернатива в виде функций, когда мы можем получить обратный ответ при вызове. Вариант функции + мини-пример: Sub my_procedure()
Dim val As Integer: val = Int(Range("A1").Value)
End SubMsgBox my_func(val) Function my_func(param1 As Integer) As Integer
Dim result As Integer result = param1 ^ 2 - 5
End Functionmy_func = result В примере выше мы определили процедуру my_procedure, например это может быть обработчик нажатия на кнопку (как назначить процедуру как обработчик событий рассказываем в статье), записали в переменную val значение яячейки А1 и передали это число в функцию my_func. Как видите функция не зависит от каких-либо внешних факторов, просто обрабатывает аргумент param1 и возвращает результат, ничего больше. Программисты обычных языков ООП могут удивляться синтаксису vba, однако различия заметны сразу. Сейчас отметим несколько:
Ещё одна приятная особенность функций - их можно использовать как обычные формулы в ячейках! (читайте больше в статье) | |
Просмотров: 344 | |
Всего комментариев: 0 | |