Функции VBA

Функции в VBA и их аргументы. Урок №37

Функция – это встроенная формула, которая выполняет вычисление значения и вставляет это значение в то место программы, где указано имя функции.

В отличие от процедур, которые, как правило, выполняют какую-то задачу (или несколько задач), функции оперируют определёнными данными и всегда возвращают некое результирующее значение.

Например, функция Date возвращает текущую системную дату, функция Time – текущее системное время, Now – текущую системную дату и текущее системное время.

Простой пример использования функций

Sub myCode()
    myDate = Date 'присвоюємо змінній myDate поточну системну дату
    MsgBox myDate
End Sub

Аргументы функций

Функция, которая не имеет аргументов, вводится в код программы простым написанием её имени. Если же нужно использовать аргументы, то сначала пишется имя функции, а затем в круглых скобках, в определённом порядке, через запятую перечисляются значения аргументов.

Аргументы функции могут быть обязательными и необязательными. Принцип их передачи такой же как у процедур.

Например, функция MsgBox имеет один обязательный аргумент и четыре необязательных аргумента. Она выводит на экран диалоговое окно и возвращает целое число, которое указывает на то, какую кнопку нажал пользователь.

Синтаксис функции MsgBox

MsgBox ( prompt [, buttons ] [, title ] [, helpfile ] [, context ] )

Пример использования функции MsgBox

Sub myCode()
    Result = MsgBox("Це текстове повідомлення", , "Це заголовок діалогового вікна")
    MsgBox Result
End Sub

Подсказки при вводе функций

При вводе встроенной функции VBA, редактор кода отображает подсказку с перечнем её аргументов. Имя следующего ожидаемого аргумента выделяется полужирным шрифтом.

подсказки VBA

Если у вас не работают такие подсказки, то проверьте установлен ли флажок для опции Auto Quick Info (Автоматическая краткая информация) в окне Option на вкладке Editor (Tools → Options → Editor).

vba options

Если на этой вкладке установить флажок и для Auto Syntax Check (Автоматическая проверка синтаксиса), то редактор будет автоматически контролировать, чтобы вы указали значения для всех обязательных значений функции, или процедуры.

Main Menu