Задание № 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. Предъявите результаты преподавателю.