Аргументи процедури – це дані, які передаються процедурі під час її виклику і використовуються нею під час виконання.
Список аргументів – це частина програмного коду, в якій зазначаються аргументи процедури.
Аргументи записуються в дужках відразу після імені процедури. Це може бути один елемент, а може бути кілька. Окремі елементи списку аргументів розділяються комами.
При записі аргументів вказується їх ім'я і тип. Для того, щоб вказати тип аргументу, використовують слово As. Якщо в дужках вказати лише ім'я аргументу, то VBA присвоїть цьому аргументу тип за замовчуванням – Variant.
Приклад зазначення аргументів процедури
Sub myCode(myNum As Integer)
У цьому прикладі ми створюємо процедуру myCode і передаємо їй аргумент myNum з типом ціле число.
Змінна кількість аргументів (Масиви параметрів)
В VBA процедура може мати змінну кількість аргументів. Вона вказується за допомогою ключового слова ParamArray, яке визначає масив, що містить необхідну кількість значень аргументів.
Ключове слово ParamArray вказується лише один раз при оголошенні процедури, і воно є обов'язковим лише для того аргументу, який записано у списку останнім.
Масив параметрів повинен мати тип Variant, тому тип змінного числа аргументів не вказують.
Запис змінної кількості аргументів
Sub myCode(myNum As Integer, ParamArray myList())
У цьому прикладі, процедурі myCode, при кожному її виклику може передаватися змінна кількість аргументів. При цьому параметр myNum з типом Integer повинен бути обов'язково присутнім. Інші аргументи передаються як елементи масиву myList, яких в кожному конкретному випадку може бути довільна кількість.
Обов'язкові та необов'язкові аргументи процедури
В VBA розрізняють обов'язкові та необов'язкові аргументи процедури. Необов'язковому аргументу присвоюється значення за замовчуванням. Щоб його позначити, використовують ключове слово Optional.
Синтаксис
Optional Аргумент As Тип = значення за замовчуванням
Пам'ятайте.
Допускаються ситуації, коли всі аргументи процедури є необов'язковими.
Всі необов'язкові аргументи зазначаються тільки після обов'язкових.
Ключові слова ParamArray та Optional взаємовиключні. У списку параметрів може бути лише одне з цих ключових слів.
