Подпрограмма-процедура
Можно упростить программирование, разбивая задачу на небольшие логические компоненты. Эти компоненты, называемые процедурами, могут впоследствии стать строительными блоками, которые позволят усилить и расширить VBA.
При программировании с использованием процедур можно выделить два основных преимущества:
Процедуры позволяют разбивать программы на конечное число логических единиц, каждую из которых легче отладить, чем всю программу без процедур
Процедуры, разработанные для одной программы, могут выступать в качестве строительных блоков для других программ, обычно с небольшими изменениями или совсем без них
В VBA используется несколько видов процедур:
Процедуры Sub (не возвращают значения)
Процедуры Function (возвращают значения)
Процедуры Property (могут возвращать и присваивать значения), а также устанавливать ссылки на объекты.
Процедуры Sub
Процедура Sub (или подпрограмма) - это блок кода, который выполняется в ответ на событие. Разбивая код модуля на процедуры Sub, намного легче читать или модифицировать код приложения.
Синтаксис процедуры Sub таков:
[Private | Public][Static]Sub <Имя процедуры> (<аргументы>) <Операторы> End SubПри вызове процедуры выполняются операторы между ключевыми словами Sub и End Sub. Процедуры Sub можно помещать в стандартные модули, модули классов и форм. По умолчанию процедуры Sub во всех модулях имеют атрибут public, который означает, что их можно вызывать из любого места приложения.
Задание параметров процедуры подобно объявлению переменных. Пример:
Sub tobin(i As Integer)Dim b As String, a As Integer, s As Singleb = "": s = CSng(i)Do While s > 0a = s Mod 2#b = CStr(a) + bs = (s) \ 2#LoopMsgBox b, vbOKOnly, "Результат"End Sub