Создание макросов на VBA.

Самый простой способ автоматизировать задачу - просто записать макрос, и VBA сделает всю работу за Вас. Этим способом создания макросов мы будем пользоваться достаточно часто. Те мне менее, чтобы реализовать все возможности языка VBA, придется воспользоваться некоторыми средствами программирования, т.е. придется писать собственные макросы.

Преимущества создания макросов на основе уже записанных:

1. Если при записи большого макроса с огромным количеством операций Вы сделаете ошибку, можно будет отредактировать макрос и исправить ошибку. При этом не нужно перезаписывать весь макрос с самого начала.

2. Вы будете иметь полный контроль над каждым макросом. Другими словами, Вы удостоверитесь, что ваши макросы выполняют в точности те действия, которые им положено выполнять.

3. Можно воспользоваться скрытыми возможностями языка VBA для управления программами пакета Office, которые недоступны при автоматической записи макросов. Кроме того, вручную можно написать более профессиональные и эффективные подпрограммы.

Чтобы отобразить на экран редактор Visual Basic, в любом приложении Office выберите команду Сервис=>Макрос=>Редактор Visual Basic.

Редактор Visual Basic является отдельной программой, которая была разработана с единственной целью - помочь вам в создании и редактировании макросов VBA. (В профессиональных программистских кругах редактор Visual Basic называют интегрированной средой разработки).

При первом открытии редактора Вы ничего особенного не увидите. В левой части редактора содержится два окна, которые называются Project (Проект) и Properties (Свойства). В окне Project отображается содержимое текущего проекта VBA. Если говорить просто, проектом называется файл любого приложения Office и все связанные с ним элементы VBA, включая макросы и пользовательские формы.

Редактор Visual Basic можно открыть, нажав комбинацию клавиш "Alt+F11". С помощью этой комбинации клавиш также можно переключаться между редактором и приложением, из которого он был вызван.

Чтобы сто-то сделать в редакторе Visual Basic, сначала, как правило, нужно открыть модуль - элемент VBA, который содержит один или несколько макросов.

Чтобы открыть модуль, выполните следующие действия:

1. В окне Project раскройте папку Modules (Модули). Для этого щелкните на знаке «плюс (+)», который расположен слева от этой папки.

2. Дважды щелкните на имени модуля, который нужно открыть.

Object list (список объектов). В этом списке, расположенном слева, отображаются названия доступных объектов для того элемента проекта, с которым Вы работаете. Модули не могут содержать объектов, поэтому этот список включает только элемент (General), т.е. «общий».

Procedure list (Список процедур). Данный список расположен справа и содержит названия тех процедур и функций, которые входят в модуль. При выборе элемента из этого списка в окне модуля редактор отобразит выбранный элемент.

Если у Вас нет созданного ранее макроса, выполните команду Insert=>Module (Вставка>Модуль). Редактор Visual Basic присвоит этому модулю стандартное имя, такое как Module1 или Module2, но его можно переименовать в любое время.

Запись макросов имеет некоторые ограничения, поскольку есть множество средств, доступ к которым нельзя получить с помощью мыши, клавиатуры или команд меню. Например, для работы с Excel VBA имеет несколько десятков информационных функций, которые возвращают данные о ячейках, рабочих листах, рабочем пространстве и о многом другом. Кроме того, VBA позволяет создавать программные структуры управления, такие как циклы, ветвления и другие.

Чтобы получить доступ к этим элементам макросов, придется писать собственные подпрограммы VBA с самого начал. Это занятие на самом деле проще, чем может показаться, так как все, что нужно сделать - ввести несколько операторов в модуль.