Выполнение процедуры
После создания процедуры её можно сразу выполнить. Это можно сделать одним из двух способов:
использовать команду Run Sub/UserForm из меню Run,
нажать клавишу <F5>.
Выполним процедуруНачало_VBA первым способом:
Выбрать пункт Run стандартной панели инструментов редактора Visual Basic (рис.14)
Рис.14. Окно Run стандартной панели инструментов
В раскрывшемся меню выбрать пункт Run Sub/UserForm. Появится диалоговое окно с именем процедуры (рис.15)
Рис.15. Окно макросов
Щёлкнуть по кнопке Run или нажать клавишу Enter.
Процедура выполнится и отобразит окно сообщения (рис. 16).
Рис. 16. Результат выполнения процедуры Начало_VBA
Щелкнуть кнопку ОК; произойдёт возврат в окно редактора Visual Basic.
Сохранение процедуры
Чтобы сохранить новую процедуру, надо сохранить рабочую книгу, где находится эта процедура. Это можно сделать двумя способами:
В зависимости от используемой версии MS Office Выбрать опцию меню File, щелкнуть кнопку File или кнопку и выбрать Сохранить как ….
Можно сохранить рабочую книгу из редактора Visual Basic, выбрав опцию меню File Сохранить как…
Далее в окне «Сохранение документа» выбрать место сохранения файла (папку), указать имя файла («Начало_VBA»), если вы работаете в Excel 2007/2010, выбрать тип файла Книга Excel с поддержкой макросов и нажать кнопку “Сохранить” или клавишу <Enter>. Рабочая книга, модуль и процедура будут сохранены.
Следует обратить внимание на то, что в Ecxel 2007/2010 имя сохранённого файла будет иметь расширение “xlsm”. Это означает, что это файл Excel 2007 или Excel 2010, содержащий макросы. Если же предполагается, что сохраняемый файл будет использоваться в Excel 97–2003, то тогда для его сохранения в меню форматов нужно выбрать пункт .
Кроме того, следует иметь в виду, что рабочие книги, в том числе содержащие макросы, полученные в Excel 97–2003, можно использовать в Excel 2007 и Excel 2010.
Б. Excel 97 – 2003
Вызвать Excel.
Открыть рабочую книгу, в которую нужно вставить процедуру, или оставить Книга1, если создаётся новое приложение.
Выполнить команду Сервис | Макрос | Безопасность…
В диалоговом окне “Безопасность” на вкладке “Уровень безопасности” нажать кнопку “Низкая (не рекомендуется)” и щёлкнуть мышью OK. В противном случае при запуске Excel программные средства VBA будут недоступны, и при открытии файла Excel, для которого не был уровень безопасности “Низкая”, появится сообщение о том, что макросы были отключены.
Примечание
Excel запоминает уровень безопасности, установленный на компьютере. Поэтому, если он не изменялся, то его нет необходимости устанавливать каждый раз при работе с VBA. Это замечание относится ко всем версиям Excel.
Выполнить команду Сервис > Макрос > Редактор Visual Basic. Откроется окно редактора Visual Basic. Если окно проектов не будет отражено, нажать комбинацию клавиш <Ctrl+R>. В левой части окна редактора Visual Basic отобразится окно проектов Project Explorer (рис. 1).
Рис. 1. Окно проектов Project Explorer
Щёлкнуть правой кнопкой мыши на элементе ЭтаКнига.
В появившемся контекстном меню (рис.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” (“Переменная не определена”).
Выбрать в меню окна проектов команду Insert > Procedure(рис.6).
Рис. 6. Выбор команды Insert > Procedure
Откроется окно добавления процедуры в проект Add Procedure, в поле Name ввести имя процедуры, например, Начало_VBA. (рис. 7).
Рис. 7. Окно добавления процедуры
В секции Туре установить переключатель Sub и щёлкнуть на кнопке ОК. Как показано на рис.8, в модуль будет добавлена пустая процедура “Начало_VBA”. Эта процедура имеет по умолчанию статус Public, что делает её доступной из любой другой процедуры данной рабочей книги. В пустой строке находится текстовый курсор, предлагая начать ввод кода процедуры.
Рис. 8. Пустая процедура VBA
Ввести за строкой “Public Sub Начало_VBA” следующий текст:
MsgBox "Начинаем работать с VBA"
После нажатия клавиши пробела за словом MsgBox появится окно (рис.9) с информацией о данной инструкции:
MsgBox(Prompt, [Buttons As VbMsgBoxStyle = vbOKOnly]…)
Рис.9. Ввод инструкций процедуры Начало_VBA
Текст введённой процедуры показан на рис. 10.
Рис.10. Процедура Начало_VBA
Имена VBA для подпрограмм и функций, как и всех других объектов VBA, образуются на основании следующих правил:
первый символ имени должен быть буквой (латинского или русского алфавита);
имя может содержать буквы, цифры и знаки подчеркивания;
имя не может содержать пробелы, точки, запятые, восклицательные знаки (!) и символы @, &, $, #; в качестве разделителей слов рекомендуется использовать знаки подчеркивания;
имя не должно иметь более 255 символов.