Назначить макросы элементу управления Поле со списком
Создание макросов для построения отчетов
1.1 Откройте рабочую книгу Корреспонденция.
1.2 Добавьте в рабочую книгу лист Отчет.
1.3 Создайте кнопки перехода на лист Отчет с листов Отправленная_кор и Сводная_таблица.
1.4 Убедитесь, что на листе Сводная_таблица присутствует сводная таблица Вес корреспонденции. Если отсутствует, тогда запустите макрос из предыдущей работы, чтобы таблица появилась.
1.5 Создайте макрос, который строит отчет по сводной таблице «Вес корреспонденции» на листе Отчет. Для создания макроса, выполните следующие действия:
А) Перейдите на листОтчет.
Б) Выберите команду Разработчик – Запись макроса. Появится диалоговое окно Запись макроса.
С) В поле Имя макроса введите имя макроса Отчет1.
Д) Выполните действия по созданию отчета:
· Перейдите на лист Сводная_таблица. Выделите сводную таблицу.
· Выполните команду Главная – Копировать.
· Перейдите на лист Отчет. Выделите ячейку С1.
· Выполните команду Главная – Вставить – Специальная вставка. В диалоговом окне Специальная вставка выберите переключатель . ОК.
· Отформатируйте построенный отчет.
· Разработчик – Остановить запись.
Создайте макрос, который удаляет отчет
Для этого:
· Перейдите на лист Отчет.
· Выберите команду Разработчик – Запись макроса. Появится диалоговое окно Запись макроса.
· В поле Имя макроса введите имя макроса Удалить_отчет.
· Выделите столбцы с отчетом, он должен находиться внутри выделенного диапазона.
· В контекстном меню выделенного диапазона выберите команду Удалить.
· Разработчик – Остановить запись.
Самостоятельная работа
Создайте макрос, который строит отчет по сводной таблице «Стоимость корреспонденции» на листе Отчет. Дайте ему имя Отчет2.
Назначить макросы элементу управления Поле со списком
Назначьте макросы Удалить_отчет, Отчет1 и Отчет2 элементу управления «Поле со списком», который расположите в столбце А листа Отчет. Для этого:
· Выполните команду Разработчик – Вставить – Элемент управления формы.Щелкните на инструменте Поле со списком панели инструментов Формы.Расположите Поле со списком в столбце А.
· В ячейках ниже Списка, например, в А7:А9 напишите: В А7 – Отчет1, в А8 – Отчет2, в А9 – Удалить отчет.
· Правой кнопкой мыши вызовите контекстное меню элемента управления Поле со списком, в котором выберите команду Формат объекта. В открывшемся диалоговом окне перейдите на вкладку Элемент управления.В полеФормировать списокпо диапазону введите $А$7:$А$9, в поле Связь с ячейкой – $А$4, Количество строк списка – 3.
· Перейдите в редактор Visual Basic (Разработчик – Visual Basic). Расположите макросы Удалить_отчет, Отчет1 и Отчет2 в одном модуле. В том же модуле, где находятся процедуры Вес_корр и Стоимость_корр напишите следующую процедуру Отчеты:
Public Sub Отчеты()
Удалить_отчет
Select Case Range("A4").Value
Case 1
Отчет1
Case 2
Отчет2
End Select
End Sub
· Перейдите на лист Отчет. Вызовите контекстное меню элемента управления Поле со списком, в котором выберите команду Назначить макрос.В открывшемся диалоговом окне выбрать Отчеты. ОК.
Проверьте результаты выполнения макросов в нужной последовательности.