Итак, наступил новый день. Блиночков покушали, все друг друга простили. А теперь новый урок.
Сегодня нам предстоит разобраться в подпрограммах, а точнее понять разницу между процедурой и функцией.
Подпрограммы
Подпрограмма - часть программы, которая оформляется особым образом и имеет свое собственное имя. Для чего же нужны подпрограммы?
- В подпрограмму можно вынести повторяющиеся фрагменты кода и вызывать по мере необходимости. Таким образом можно сократить количество строк кода и оптимизировать программу.
- Можно разбить программу на части "по смыслу" (структурировать), что в итоге облегчит понимание кода программы и облегчит редактирование кода при последующих модификациях.
Процедура
Подпрограмма типа процедура - это независимая часть программы, которая имеет собственное уникальное имя и которую можно вызвать по имени из других подпрограмм. В модуле VBA можно создать любое количество подпрограмм.
Объявляется процедура в VBA следующим образом:
Sub <имя процедуры> (параметры)
<тело процедуры>
End Sub
Начинается всегда с ключевого словаSub
.
Затем идет имя процедуры. Оно может быть на латинице или русском языке, но не должно начинаться с цифры. Лучше всего давать такое имя процедуре, которое будет описывать действия, выполняемые ее операторами. Например, SortData (что означает - сортировка данных). После имени процедуры объявляются параметры передаваемые процедуре, если их нет, то остаются просто пустые скобки. Пустые скобки можно не ставить, редактор их проставит автоматически сам, после того, как вы перейдете на другую строку.
В теле процедуры прописываются команды которые необходимо выполнить программе.
А заканчивается процедура оператором End Sub
.
Пример процедуры
Sub primer ()
a=5
b=6
msgbox a*b
End Sub
Для выполнения устанавливаем курсор на тексте процедуры и нажимаем F5. Результатом выполнения команд описанных в процедуре будет сообщение с текстом "30".
Сначала переменной a присвоили значение 5
Затем b присвоили значение 6
Функция Msgbox отображает сообщение - произведение a и b
Функция
Подпрограмма типа функция - это процедура, которая возвращает значение. Функция ВСЕГДА возвращает значение. Функции, написанные в модулях VBA можно использовать не только в программах, но и формулах на листах книги Excel. Таким образом наряду со встроенными функциями экселя (СУММ, ВПР и тд) вы можете пользоваться собственными функциями. Например, можно написать функцию, которая будет возвращать стоимость GBG в рублях в определенную ячейку.
Синтаксис объявления функций:
Function <имя функции> (параметры)
<тело функции>
<имя функции> =<значение>
End Function
Начинается с ключевого словаFunction
. Далее - имя функции. Затем объявляются параметры передаваемые функции.
В теле функции прописываются команды которые необходимо выполнить и функции присваивается значение, которое необходимо вернуть. Заканчивается оператором End Function
.
Пример функции
Function primer2 ()
a=5
b=6
primer2 = a*b
End Function
Вызывать функцию будем из процедуры (т.е. на выполнение запускаем процедуру)
Sub primer ()
msgbox primer2
End Sub
Результатом выполнения команд описанных в процедуре и функции будет снова сообщение с текстом "30".
После запуска процедуры, выполняется команда msgbox primer2
- вывести сообщение со значением функции primer2. В этот момент запускается функция primer2 и выполняются операции, описанные в ней:
Переменной a присвоили значение 5.
Переменной b присвоили значение 6
Функции присвоили значение - произведение a и b
Вернулись в процедуру и в тексте сообщения вывели полученное значение.
Пробуйте, задавайте вопросы! Завтра уже следующий урок.
Привет!
Этот пост был выбран Академией Голоса и попал в список программы поддержки качественных образовательных постов.
Ссылка на твой пост будет опубликована в отчете Академии.
Спасибо за полезный контент (ノ◕ヮ◕)ノ*:・゚✧