Создание первой процедуры требует выполнения двух последовательных шагов: сначала надо вставить модуль в рабочую книгу, а затем в этом модуле написать процедуру. Для любого создаваемого приложения надо создать свой модуль. Приложение может содержать несколько модулей, но это не обязательно. Некоторые разработчики предпочитают иметь много модулей, так как в этом случае они могут организовать их по назначению, виду и т.п. Процедура, созданная нами в следующем примере, будет выводить на экран окно сообщения. Для создания этой процедуры выполните следующие действия.
Откройте новую рабочую книгу.
Выполните команду Сервис > Макрос > Редактор Visual Basic. Откроется окно редактора Visual Basic.
В левой части окна редактора Visual Basic вы видите окно проектов Project Explorer. Откройте проект VBAProject (Книга1) и щелкните правой кнопкой мыши на элементе ЭтаКнига. В контекстном меню выберите команду Insert > Module (Вставка > Модуль). В ваше приложение будет добавлен модуль (рис. 4.2).
Если вы не видите окно проектов, нажмите комбинацию клавиш <Ctrl+R>.
В верхней части окна кода модуля вы увидите оператор Option Explicit (явное описание опций), который принуждает явно описывать все переменные с помощью операторов Dim, Private, Public, ReDim и Static. Если вы попытаетесь использовать переменную без ее объявления, то при компиляции кода будет выдана ошибка. Этот оператор в новом модуле появляется не всегда, а только тогда, когда в диалоговом окне Options на вкладке Editor установлен флажок опции Require Variable Declaration (Требовать объявления переменных). Диалоговое окно Options открывается командой Tools > Options (Сервис > Параметры).
Рис. 4.2. Окно проектов позволяет следить за компонентами приложений
Введите имя процедуры, например ПерваяПроцедура. В секции Туре (Тип) установите переключатель Sub (Подпрограмма). Щелкните на кнопке ОК. Как показано на рис. 4.4, новая процедура будет добавлена в модуль.
В пустой строке находится текстовый курсор, предлагая начать ввод кода процедуры. Нажмите клавишу <Таb> и введите следующий текст:
MsgBox "Это моя 1-я процедура VBA"
После того как вы введете MsgBox и нажмете клавишу пробела, появится окно с информацией о данном операторе.
Делать отступ текста с помощью клавиши <Таb> не обязательно. Отступ делается для более легкого чтения кода.
Нажмите клавишу <Enter>. Завершенная процедура показана на рис. 4.5.
Рис. 4.3. Это диалоговое окно помогает в создании подпрограмм и функций
Рис. 4.4. Новая процедура начинается оператором Public Sub и заканчивается оператором End Sub
Рис. 4.5. Ваша первая процедура имеет всего три строчки кода VBA
VBA требует выполнения определенных правил для имен подпрограмм и функций. Эти правила таковы.
Первые три символа имени должны быть буквами.
Имя может содержать буквы, цифры и знаки подчеркивания.
Имя не может содержать пробелы, точки, запятые, восклицательные знаки (!) и символы @, &, $, #.