Select Case Range("N2").Value
Теперь следует проверить работу списка с диаграммой.
Автоматизация типовых операций на листе Отчет
Этот лист используется приложением для подготовки, редактирования и печати отчетных документов.
Для создания макроса Отчет_1 выполнить следующие действия:
1. На листе Анализ выбрать из списка первый вариант сводной таблицы, перейти к листу Отчет, удалить содержимое ячеек, кроме столбца А.
2. Сервис – Макрос – Начать запись…
3. В окне Запись макроса указать имя макроса Отчет_1;
4. Выполнить запись:
· перейти к листу Анализ (с помощью ярлычка листа);
· выделить ячейку В1 сводной таблицы;
· выполнить команду меню Формат – Автоформат;
· выбрать вариант Отчет 4 ( таблица уже будет выделена );
· скопировать выделенную таблицу в буфер обмена;
· выделить ячейку В1 сводной таблицы, чтобы снять выделение;
· перейти на лист Отчет;
· выделить ячейку В1;
· выполнить команду Правка – Специальная вставка, в окне специальной вставки выбрать переключатель «Значения»;
|
|
· выполнить команду Формат – Столбец – Ширина, установить ширину столбца равной 12 единицам;
· выделить ячейку В1, чтобы снять выделение;
5. Завершить запись макроса.
Усовершенствуем созданный макрос, для чего добавим в начало и конец кода команду работы режима обновления экрана, а также команды очистки листа перед построением сводной таблицы.
Аналогично следует создать макросы для отчетов по второму и третьему вариантам сводных таблиц.
Для выбора варианта отчета создадим на листе Отчет три переключателя и объединим их в группу. Для этого следует использовать элемент управления «Группа» .
Выбрав этот элемент, следует нарисовать прямоугольную область, в которую будем добавлять элементы группы - переключатели (см. рисунки). Изменить текст элемента можно, пользуясь контекстным меню. Переключатель рисуем в столбце А в рамке, щелкнув соответствующую кнопку на панели инструментов «Формы».
Далее в контекстном меню переключателя нужно выбрать команду «Формат объекта» и на вкладке «Элемент управления» установить значение «установлен», а в поле «Связь с ячейкой» адрес А1. У остальных двух переключателей эти данные уже будут заполнены, так как по умолчанию все переключатели в рамке считаются одной группой. В ячейке А1 будут появляться цифры 1, 2 или 3, согласно выбранному переключателю. Каждому переключателю следует назначить свой макрос – Отчет_1, Отчет_2 и Отчет_3 соответственно (см. рисунки).
Управление интерфейсом приложения
Чтобы разработанное приложение имело самостоятельный законченный вид, нужно добавить процедуры, управляющие интерфейсом MS Excel и рабочих листов. При запуске приложение следует развернуть во весь экран окно MS Excel а внутри него – окно рабочей книги, скрыть панели инструментов, строку формул и строку состояния.
|
|
Все эти процедуры должны выполняться не по требованию пользователя, а автоматически – как реакция на определенное событие, например открытие или закрытие рабочей книги. В VBA предусмотрены соответствующие обработчики событий, например при открытии рабочей книги (объект WorkBook) возникает событие Open, которое можно обработать в процедуре WorkBook_Open().
Запишем код этой процедуры вручную, для этого:
1. выполнить команду Сервис – Макрос – Редактор Visual Basic
2. в окне проекта («Project») выбрать объект «Эта книга» (см. рисунок)
3. в окне кода («Code») набрать следующий код
Private Sub WorkBook_Open()
Application.WindowState = xlMaximized
ActiveWindow.WindowState = xlMaximized
Application.CommandBars("Standard").Visible = False
Application.CommandBars("Formatting").Visible = False
Лист_Меню
End Sub
4. закрыть окно VBA
Для настройки интерфейса рабочих листов запишем макрос с изменениями, воспользовавшись командой Сервис – Параметры.
Для листа «Меню» запишем макрос Интерфейс_Меню
1. Перейти к листу Меню.
2. Сервис – Макрос – Начать запись…
3. В окне Запись макроса указать имя макроса Интерфейс_Меню;
4. Выполнить запись:
· Команда Сервис – Параметры;
· Скрыть элементы согласно рисунку
5. Завершить запись макроса.
Для листа «Данные» запишем макрос Интерфейс_Данные
1. Перейти к листу Данные.
2. Сервис – Макрос – Начать запись…
3. В окне Запись макроса указать имя макроса Интерфейс_Данные;
4. Выполнить запись:
· Команда Сервис – Параметры; Скрыть элементы по рисунку
5. Завершить запись макроса.
Для листа «Анализ» и «Отчет» макросы записываются аналогично, необходимо отобразить только вертикальную и горизонтальную полосы прокрутки.
Содержание полученных макросов (без заголовка и окончания) следует поместить в окно кода для соответствующего листа как процедуру WorkSheet_Activate () – см. рисунок.
Порядок действий:
1. Выполнить команду Сервис – Макрос – Макросы
2. В окне «Макрос» выделить макрос «Интерфейс_Меню» и нажать кнопку «Войти»
3. Скопировать текст макроса с оператора With ActiveWindow до End With
4. В окне проекта щелкнуть по объекту «Лист1(Меню)». Откроется окно кода этого листа
5. В списке объектов (object) выбрать WorkSheet, в списке действий (procedure) - Activate
6. После строчки Private Sub WorkSheet_Activate() вставить фрагмент кода из буфера обмена.
Эти действия выполнить для макросов Интерфейс_Данные, Интерфейс_Анализ и Интерфейс_Отчет.
Последнее, что предстоит настроить – это строка меню приложения.
З апишем макрос Меню_приложения
1. Перейти к листу Меню.
2. Сервис – Макрос – Начать запись…
3. В окне Запись макроса указать имя макроса Меню_приложения;
4. Выполнить запись:
· Команда Вид – Панели инструментов – Настройка
· Удалить пункты меню «Справка», «Данные», «Сервис», «Формат», «Вставка» (лучше двигаться от конца до начала списка)
· В меню «Файл», «Правка», «Вид» и «Окно» оставить пункты, сверяясь по рисункам.
5. Завершить запись макроса.
Открыть VBA и в текст макроса Меню_Приложения добавить вручную первые две строки: