Урок 7 по vba - процедури

На відміну від мови VBScript, VBA процедури класифікуються на два типи (процедура-функція і процедура-підпрограма), а чотирьох типів: процедура-функція, процедура-підпрограма, процедура властивостей і обробка подій. Також існують деякі доповнення в плані передачі параметрів (за значенням або за посиланням). Третім моментом є область видимості - в VBA виклик процедури може здійснюватися як в межах поточного модуля (макросу), так і за його межами - у всіх проектах. Все це обумовлено тим, що VBA - це не стільки мову програмування, скільки програмний пакет, з можливістю створення форм і проектів.

Урок 7 по vba - процедури

Давайте спочатку коротко розглянемо типи VBA процедур:

Підпрограми - блоки коду укладені в конструкцію Sub .... End Sub. Сама по собі підпрограма не повертає ніякого значення, а просто виконує прописані в ній команди.

Функції - також блок коду, але прописаний в конструкцію Function ... End Function. Після виконання функції повертається певне значення, доступ до якого можна отримати через ім'я VBA функції.

Крім цього, варто згадати про обробку подій (натискання кнопки клавіатури або переміщення миші) і доступ до об'єктів, але це окрема тема.

VBA процедури типу Sub - підпрограми

Після ключового слова Sub слід ім'я підпрограми, в круглих дужках можна вказувати або не вказувати аргументи. Аргументи - це змінні (параметри), значення яких може оброблятися, аргументи розділяються комами. Конструкція Exit Sub також не є обов'язковою, вона говорить те, що потрібно зробити вихід з підпрограми і продовжити виконання коду, наступного після висловлення End Sub.

Виклик VBA процедури здійснюється за допомогою ключового слова call, наприклад, Call MySub.