Що таке в excel функція function і процедура sub - трюки і прийоми в microsoft excel
В Excel VBA-макроси існують в двох різних варіантах: процедури Sub і процедури-функції Function. У цій статті ви дізнаєтеся, чим вони відрізняються.
процедури Sub
Ви можете думати про процедуру Sub як про нову команду. У вашій книзі Excel може бути будь-яку кількість процедур Sub. На рис. 206.1 показана проста процедура Sub. Якщо виконати цей код, він переключить режим відображення розривів сторінок для активного листа.

Мал. 206.1. Проста, але корисна процедура VBA
Процедури Sub завжди починаються з ключового слова Sub. імені макросу і пари круглих дужок. Вираз End Sub означає кінець процедури. Рядки між цими ключовими словом і виразом містять код процедури.
Ви виконуєте процедури Sub декількома способами. Наприклад, можна натиснути Alt + F8. а потім вибрати макрос у вікні Macros. Інші способи виконання процедур Sub описані в статті «Як виконуються макроси в Excel«.
Якщо ви записуєте макрос, це завжди процедура Sub.
функції VBA
Другим типом процедур VBA є процедури-функції Function. які завжди повертають одне значення (так само, як і функція листа завжди повертає одне значення). Процедура-функція VBA може бути виконана іншими процедурами VBA або використана в формулах листа, як і будь-яка інша вбудована функція Excel.

Мал. 206.2. Процедура-функція Function, яка повертає ім'я користувача
На рис. 206.2 ви можете бачити призначену для користувача функцію, названу User. Вона просто повертає ім'я користувача (яке зазначено у вікні Параметри Excel). Процедура-функція виглядає так само, як і процедура Sub. Тільки зверніть увагу, що процедура-функція починається з ключового слова Function. а закінчується оператором End Function.
Ось приклад формули листа, яка використовує цю функцію: = PERSONAL.XLSB! User (). Ця формула передбачає, що функція User визначена у вашому особистому книзі макросів. Якщо функція визначена в книзі, що містить формулу, можна опустити посилання на файл і використовувати наступну формулу: = User ()