Задание № 14 (Часть 1). Работа с макросами.
Цель:Знакомство со способами создания и использования макросов в MS Excel.
Темы: Создание и выполнение макросов. Макросы с относительными ссылками. Вложенные процедуры. Создание и применение пользовательских функций. Работа с модулем.
1. Создание и выполнение макросов.
1.1. Активизируйте вкладку «Разработчик», если она не представлена среди других ленточных вкладок. Для этого используйте команду Office – Параметры Excel – Основные - Показывать вкладку «Разработчик» на ленте.
1.2. Пользуясь командой Разработчик – Код – Запись макроса, задайте для создаваемого макроса имя "СтарыйАдрес", сочетание клавиш, сохранение в «этой книге» и сведения об авторе макроса в разделе описания (рис.14.1).
1.3. Начните запись макроса, позволяющего выполнить ввод в ячейки А5, А6, А7 следующий текст: А5: ПТС
А6: Ул. Большая Морская, д.3
А7: г. Санкт - Петербург.
(В процессе записи макроса старайтесь избегать ошибок и исправлений!)
1.4. Завершите запись макроса, воспользовавшись командой Разработчик – Код – Остановить запись или нажав соответствующую кнопку в строке состояния.
Рис.14.1
1.5. Очистите рабочий лист и перейдите в ячейку A5. Выполните созданный макрос, воспользовавшись командой Разработчик – Код – Макросы - Выполнить.
1.6. Снова очистите рабочий лист и повторите выполнение макроса, предварительно перейдя в любую другую ячейку.
1.7. Сравните результаты выполнения макроса в п.п. 1.5 и 1.6.
1.8. Очистите рабочий лист и запустите макрос, пользуясь сочетанием клавиш, которые были назначены при записи макроса. Если они не были назначены, то сделайте это с помощью команды Разработчик – Код – Макросы – Параметры.
1.9. Просмотрите содержимое макроса в редакторе Visual Basic, воспользовавшись командой Разработчик – Код – Visual Basicили командой Разработчик – Код – Макросы – Изменитьили сочетанием клавиш Alt+F11(Рис.14.2)
Рис.14.2
1.10. Измените текст в Module1, заменив номер дома в адресе ("3" замените на "3/5", вручную записав новый текст).
1.11. Вернитесь в окно Excel с помощью команды редактора Visual Basic File – Close and Return to Microsoft Excel или сочетания клавиш Alt+F11, выполните макрос "СтарыйАдрес" и убедитесь в его работоспособности.
2. Создание и выполнение макросов с относительными ссылками.
2.1. Создайте новый макрос под именем "НовыйАдрес" в режиме создания макроса с относительными ссылками.
2.1.1. Очистите рабочий лист ("Лист1").
2.1.2. Пользуясь командой Разработчик – Код – Запись макроса,активизируйте диалоговое окноЗапись макроса, задайте для создаваемого макроса имя "НовыйАдрес" и заполните остальные поля.
2.1.3. Включите режим использования относительных ссылок, воспользовавшись командой Разработчик – Код – Относительные ссылки.
2.1.4. Выполните запись макроса, который будет вводить в три вертикально расположенные ячейки следующий текст:
ГУТ им. проф М А Бонч-Бруевича
г. Санкт-Петербург,
наб. реки Мойки, д.61
2.1.5. Закончите запись макроса нажатием соответствующей кнопки.
2.2. Перейдите в редактор Visual Basic и просмотрите содержимое макроса "Новый Адрес" (рис.14.3). Сравните тексты макросов "СтарыйАдрес" и "НовыйАдрес".
2.3. Вернитесь в окно Excel, поочередно выполните макросы "СтарыйАдрес" и "Новый Адрес". Отметьте различия в выполнении макросов.
2.4. Выполните оба макроса, пользуясь сочетаниями клавиш, назначенными при записи макросов. Если они не были назначены, то сделайте это с помощью команды Разработчик – Код – Макросы – Параметры.
Рис.14.3
3. Создание и использование вложенных процедур.
3.1. Откройте редактор Visual Basic (лист "Модуль1"). Внесите в программный код VBA изменения, показанные на рис.14.4.
Рис.14.4
В результате должна быть создана новая процедура, названная "Formatting". Макрос "СтарыйАдрес" вызывает процедуру "Formatting" в третьей строке программного кода. В процедуре "Formatting" использована функция MsgBox (вывод окна сообщения), которая позволяет приостановить выполнение процедуры "Formatting" до нажатия кнопки ОК и выдать подходящее случаю сообщение.
3.2. Вернитесь на лист Excel и выполните макрос "СтарыйАдрес".
3.3. Измените текст процедуры "Formatting" следующим образом:
· установите размер шрифта 16 пт.;
· установите зеленый цвет шрифта (индекс зеленого цвета - 50);
· уберите подчеркивание текста.
3.4. Выполните макрос "СтарыйАдрес", внимательно проследив за правильностью его выполнения с учетом сделанных изменений.
3.5. Внесите изменения в текст макроса "СтарыйАдрес" таким образом, чтобы процедура "Formatting" действовала на ячейку A7.
3.6. Внесите изменения в текст макроса "СтарыйАдрес" таким образом, чтобы процедура "Formatting" действовала на ячейки A5, A6, A7.
3.7. Внесите изменения в текст макроса "Новый Адрес" таким образом, чтобы выполнение макроса "НовыйАдрес" начиналось с процедуры "Formatting".
3.8. Проследите за правильностью выполнения макросов "СтарыйАдрес" и "НовыйАдрес" с учетом сделанных в п.п. 3.5 - 3.7 изменений.
4. Создание и применение пользовательских функций.
4.1. Создайте таблицу, приведенную на рис.14.5, не заполняя ячейки С2:С4.
Рис.14.5
4.2. Откройте редактор Visual Basic (Alt+F11).
4.3. Вставьте новый лист модуля (Insert – Module).
4.4. Введите в лист модуля текст функции, позволяющей вычислить размер надбавки в зависимости от количества продаваемого товара. Текст такой функции приведен на рис.14.6.
Рис.14.6
4.5. Перейдите на лист Excel, содержащий таблицу (рис.14.5). Введите вручную в ячейку С2 функцию "Надбавка(количество, цена)", используя в качестве аргументов функции ссылки на ячейки А2 и В2.
4.6. В ячейку С3 введите формулу для вычисления надбавки, пользуясь Мастером функций (категория Определенные пользователем).
4.7. В ячейку С4 введите формулу для вычисления надбавки, пользуясь копированием формул.
4.8. Изменяя данные в ячейках А2:А4, убедитесь в правильности вычислений, производимых созданной функцией.
5. Предъявите результаты преподавателю.