- •Р ис. 1. Вкладка Разработчик содержит интерфейс для запуска и записи макросов.
- •Важная информация о безопасности макросов.
- •Для этого:
- •Листинг 2: Программный код макроса RangeSelect2 ( )
- •Листинг 7: Программный код макроса SetValue3 ( )
- •Л истинг 8: Программный код макроса SetValue4 ( )
- •3) Следующий макрос Formats3 ( ) (см. Листинг 11) имеет более сложный программный код, нежели Formats2.
- •Листинг 11: Программный код макроса Formats3 ( )
- •Листинг 15: Программный код макроса CellFormula4 ( )
- •Задание 6.
- •Листинг 18: Программный код макроса Fibon ( )
- •Листинг 19: Программный код макроса Fibon2 ( )
Для этого:
1) Для доступа к настройкам макросов выполните команду: Разработчик → Код → Безопасность макросов → Настройка макросов → установите переключатель во второе положение: Отключить все макросы с уведомлением.
В этом случае при открытии файла с макросами в верхней части окна, непосредственно над строкой формул будет отображаться предупреждение системы безопасности:
Рис. 2. Вид открытого окна файла Excel c предупреждением системы безопасности о наличии макросов.
2) Щелкните на кнопке Параметры рядом с предупреждением.
3) Поскольку вы предполагаете наличие макросов в открываемой книге, в диалоговом окне установите переключатель в положение Включить это содержимое, см. рис. 3:
Рис.3. Диалоговое окно Параметры безопасности в Microsoft Office, которое появляется, когда вы открываете рабочую книгу с настройкой Отключить все макросы с уведомлением, а если использовать макросы необходимо, то их можно включить.
4) Щелкните ОК. Теперь в рабочей книге макросы будут включены. Если вы не собираетесь включать макросы в открываемой книге, закройте предупреждение системы безопасности, щелкнув на крестике в правом верхнем углу.
Если вы забыли включить макросы и собираетесь их запустить, то Excel откроет окно предупреждения о невозможности такой операции. Если вам снова нужно вывести полосу предупреждения выполните команду: Вид → Показать или скрыть → Панель сообщений (поставить флажок).
Задание 1.
Выделение ячеек и диапазонов.
Прежде чем произвести какие-нибудь действия с ячейками, их необходимо выделить. Можно сделать это вручную, а можно с использованием специальных программ – макросов. Ниже приведен пример программного кода макроса, действие которого состоит в выделении диапазона ячеек A1:C6 активного рабочего листа:
Листинг 1: Программный код макроса RangeSelect ( )
Sub RangeSelect ( )
Range (“A1:C6”).Select
End Sub
Для создания макроса необходимо запустить редактор VBA.
Для этого:
1) Перейдите на вкладку Разработчик. Далее выберите раздел Код и щелкните на пиктограмме Visual Basic.
2) Перед вами откроется окно редактора VBA. В открывшемся окне выберите команду Insert Module (см. рис.4).
Рис. 4. Вставка нового модуля.
В результате в проект VBA добавляется новый модуль, что на практике выглядит как появление пустой рабочей области (см. рис.5). Именно туда и следует ввести программный код.
Примечание 1: если окно записи кода макроса не видно после выполнения команды Insert Module, то нужно щелкнуть на пиктограмме View Code (крайний слева значок в строке под словами Project-VBAProject):
Рис. 5. Появление пустой рабочей области.
Что касается непосредственно кода, то он состоит всего из одной команды (если не считать обязательных инструкций начала и конца макроса). Ячейки А1:С6 выделяются с помощью метода Select. О том, что следует выделять именно ячейки А1:С6, указывает инструкция Range (“A1:C6”) (объект диапазон ячеек). Вся команда выглядит как Range (“A1:C6”).Select. Ключевое слово Sub в начале макроса является зарезервированным, после него указывается имя макроса (в данном случае RangeSelect ( ) – имя выбирается пользователем). Также зарезервированной является инструкция окончания тела макроса End Sub.
3) В пустой рабочей области введите код макроса RangeSelect ( ), приведенный в листинге 1, см. рис.6:
Рис. 6. Окно редактора VBA с программным кодом макроса.
Сохраните записанный вами макрос с помощью команды Save меню окна MS Visual Basic. И далее, каждый раз после того, как вы записали новый макрос, перед тем как запустить его на выполнение, его необходимо сохранить.
4) Запустите макрос RangeSelect ( ), с помощью команды Разработчик → Код → Макросы. Откроется диалоговое окно с названием Макрос. В этом окне выберите RangeSelect ( ) – имя, запускаемого вами на выполнение макроса. Результат выполнения макроса представлен на рис. 7:
Рис. 7. Результат выполнения макроса RangeSelect ( ), задание 1, п. 1 - 4.
5) Метод Select используется для выделения ячеек в активных листах. Поэтому сначала нужно активизировать нужный лист с помощью команды Worksheets (“Лист2”).Select). После этого выделяют нужный диапазон ячеек с помощью команды Range (“A1:C6”).Select. Также для данного случая при выделении рабочего листа можно использовать метод Activate. Ниже в листинге приведен код макроса RangeSelect2 ( ), который активизирует Лист 2 и выделяет на нем диапазон ячеек А1:С6: