Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум9 по Excel (пр.13%2C осн. языка VBA).docx
Скачиваний:
20
Добавлен:
06.09.2019
Размер:
2.66 Mб
Скачать

Для этого:

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: