1. Вызвать Excel.
2. Открыть рабочую книгу, в которую нужно вставить процедуру, или оставить Книга1, если создаётся новое приложение.
3. Выполнить команду Сервис | Макрос | Безопасность…
4. В диалоговом окне “Безопасность” на вкладке “Уровень безопасности” нажать кнопку “Низкая (не рекомендуется)” и щёлкнуть мышью OK. В противном случае при запуске Excel программные средства VBA будут недоступны, и при открытии файла Excel, для которого не был уровень безопасности “Низкая”, появится сообщение о том, что макросы были отключены.
Примечание
Excel запоминает уровень безопасности, установленный на компьютере. Поэтому, если он не изменялся, то его нет необходимости устанавливать каждый раз при работе с VBA. Это замечание относится ко всем версиям Excel.
5. Выполнить команду Сервис > Макрос > Редактор Visual Basic. Откроется окно редактора Visual Basic. Если окно проектов не будет отражено, нажать комбинацию клавиш <Ctrl+R>. В левой части окна редактора Visual Basic отобразится окно проектов Project Explorer (рис. 1).
Рис. 1. Окно проектов Project Explorer
6. Щёлкнуть правой кнопкой мыши на элементе ЭтаКнига.
7. В появившемся контекстном меню (рис.2)
Рис.2. Контекстное меню
выбрать команду Insert > Module.
В приложение будет добавлен модуль Module1 (рис. 3).
Рис. 3. Окно проектов
В верхней части окна кода модуля находится инструкция Option Explicit, которая требует явно описывать все переменные с помощью операторов Dim, Private, Public, ReDim и Static. Эта инструкция в новом модуле появляется только тогда, когда в диалоговом окне Options на вкладке Editor установлен флажок опции Require Variable Declaration (Рис. 4). Хороший стиль программирования рекомендует явно описывать все переменные. Диалоговое окно Options открывается командой Tools > Options (рис.5).
Рис.4. Диалоговое окно Options Рис.5. Выбор команды
Tools > Options
При попытке использовать переменную без её объявления при запуске процедуры на выполнение будет выдано сообщение об ошибке “Variable not defined” (“Переменная не определена”).
8. Выбрать в меню окна проектов команду Insert > Procedure(рис.6).
Рис. 6. Выбор команды Insert > Procedure
9. Откроется окно добавления процедуры в проект Add Procedure, в поле Name ввести имя процедуры, например, Начало_VBA. (рис. 7).
Рис. 7. Окно добавления процедуры
10. В секции Туре установить переключатель Sub и щёлкнуть на кнопке ОК. Как показано на рис.8, в модуль будет добавлена пустая процедура “Начало_VBA”. Эта процедура имеет по умолчанию статус Public, что делает её доступной из любой другой процедуры данной рабочей книги. В пустой строке находится текстовый курсор, предлагая начать ввод кода процедуры.
Рис. 8. Пустая процедура VBA
11. Ввести за строкой “Public Sub Начало_VBA” следующий текст:
MsgBox "Начинаем работать с VBA"
После нажатия клавиши пробела за словом MsgBox появится окно (рис.9) с информацией о данной инструкции:
MsgBox(Prompt, [ Buttons As VbMsgBoxStyle = vbOKOnly]…)
Рис.9. Ввод инструкций процедуры Начало_VBA
Текст введённой процедуры показан на рис. 10.
Рис.10. Процедура Начало_VBA
Имена VBA для подпрограмм и функций, как и всех других объектов VBA, образуются на основании следующих правил:
- первый символ имени должен быть буквой (латинского или русского алфавита);
- имя может содержать буквы, цифры и знаки подчеркивания;
- имя не может содержать пробелы, точки, запятые, восклицательные знаки (!) и символы @, &, $, #; в качестве разделителей слов рекомендуется использовать знаки подчеркивания;
- имя не должно иметь более 255 символов.