створення функцій VBA

Процедури типу Function. Урок №38

Процедура типу Function, або функція користувача – це особливий вид процедури, яка завжди повертає якесь обчислене значення. Тобто це фрагмент коду, який містить певні вирази, виконує обчислення на підставі цих виразів та повертає результат цих обчислень.

Якщо звернутися до функції, то можна отримати результат обчислення без повторного написання виразів, і вивести цей результат там, де вказується ім'я функції.

Головна відмінність між функцією та процедурою в тому, що функція повертає значення, а процедура – ні.

Синтаксис функцій в VBA

Function Name(Argument_List) As Type
Операторы VBA
Name = expression
End Function

Значення, яке повертає функція, може мати будь-який тип даних із тих, що існують в мові VBA.

Якщо при оголошенні функції тип даних не вказаний, то він приймається як тип Variant.

Я наполегливо рекомендую вказувати тип даних під час оголошення функцій, оскільки Variant займає більше пам'яті, ніж будь-який інший тип даних. Відповідно, на обробку значень з типом даних Variant вашій програмі знадобиться більше часу.

Простий приклад використання функцій

Function SLen(tStr As String) As Integer
    SLen = Len(Trim(tStr))
End Function

Sub myCode()
    MsgBox SLen(" Слово ") 'будут видалені початковий та кінцевий пробіл і виведено в діалоговому вікні кількість символів – 5
End Sub

Ще один приклад функції користувача

Function SquareRoot()
    SquareRoot = (Sqr(InputBox("Введіть значення:")))
End Function
Sub myCode()
    MsgBox (SquareRoot())
End Sub

Пошук функцій в VBA

Якщо ви працюєте з великим проектом і використовуєте багато різних процедур та функцій, то цілком логічно, що вам буде важко запам'ятати в якому з модулів зберігається та функція, яка потрібна саме зараз.

Щоб швидко знайти потрібну процедуру, або функцію, і подивитися її VBA код, слід скористатися вікном Object Browser (View → Object Browser).

Пошук функцій VBA

Щоб не забути що виконує та, чи інша функція, рекомендується зробити її опис. Так ви завжди зможете згадати призначення створеної раніше функції та її особливості. А якщо з вашим проектом працюватиме інший програміст, то це однозначно допоможе йому швидше розібратися у вашому коді.

Щоб додати опис до процедури (або функції), потрібно:

  1. Знайти її у вікні Object Browser.
  2. Клікнути по знайденій процедурі-функції правою кнопкою миші.
  3. У контекстному меню, що з'явилося, натиснути Properties.
  4. У з'явившомуся вікні Member Options, ввести опис в поле Description.
  5. Натиснути OK.

Опис функції VBA

Main Menu