Добавленные операторы выделены полужирным шрифтом


Application.ScreenUpdating = True - включить режим обновления экрана

Подведение итогов. Для автоматизации работы с итогами вначале следует зафиксировать уже созданные элементы управления листа Данные, чтобы их размеры не изменялись при выполнении промежуточных итогов. В контекстном меню каждой кнопки следует выбрать команду «Формат объекта» и на закладке «Свойства» установить переключатель «Привязка объекта» в положение «не перемещать и не изменять размеры».

Создание макроса Итоги_Эмитентов.

1. Сервис – Макрос – Начать запись…

2. В окне Запись макроса указать имя макроса Итоги_Эмитентов;

3. Выполнить запись:

· Выделить ячейку В1;

· Нажать кнопку Сортировка

· Выполнить команду меню Данные – Итоги;

· Указать в качестве поля группировки столбец «Эмитент ».

· Выбрать операцию Сумма.

· Установить «флажки» итогов по полям Стоимость предложения и Стоимость спроса, итоги размещать под данными - ОК.

· Скрыть промежуточные данные таблицы, щелкнув по кнопке второго уровня структуры ;

· выделить ячейку В1.

4. Завершить запись макроса, выполнив команду меню Сервис – Макрос – Остановить запись.

Создание макроса Удалить_Итоги.

1. Сервис – Макрос – Начать запись…

2. В окне Запись макроса указать имя макроса Удалить _ Итоги;

3. Выполнить запись:

· Выделить ячейку В1;

· Выполнить команду меню Данные – Итоги;

· В диалоговом окне «Промежуточные итоги» щелкнуть по кнопке «Убрать все»

4. Завершить запись макроса, выполнив команду меню Сервис – Макрос – Остановить запись.

Так как при работе с итогами должен выполняться либо макрос Итоги_Эмитентов, либо Удалить_Итоги, то в качестве элемента управления выберем флажок, который и будет выполнять то один, то другой макросы в зависимости от своего состояния (установлен или снят).

Откроем Visual Basic и запишем «вручную» код макроса для флажка в модуле Module1.

Модуль примет вид:

Sub Итоги()

Application.ScreenUpdating = False

If Range("R3").Value = True Then

Итоги_Эмитентов

Else

Удалить_Итоги

End If

Application.ScreenUpdating = True

End Sub

Для создания флажка следует выбрать соответствующую кнопку панели управления Формы. Нарисовать прямоугольник и изменить название на «Итоги по эмитентам», пользуясь контекстным меню. В окне «Формат элемента управления» выбрать закладку «Элемент управления» и установить переключатель Значение в положение «снят», в поле «Связь с ячейкой» указать, например R3; на закладке «Свойства» установить переключатель «Привязка объекта» в положение «не перемещать и не изменять размеры». Назначить флажку макрос Итоги.

Рисунок 7. Результат автоматизации работы со списком

Самостоятельно создать флажок для промежуточных итогов по видам ценных бумаг. Результат проделанной работы представлен на рисунке 7.

Элементы управления, оперирующие списком, объединим в группу. Для этого следует использовать элемент управления «Группа» .

Выбрав этот элемент, следует нарисовать прямоугольную область, в которую нужно включить элементы группы (см. рисунок 8). Изменить текст элемента, пользуясь контекстным меню.

Рисунок 8. Готовый лист Данные с группой элементов управления

В окне «Формат элемента управления» выбрать закладку «Свойства» установить переключатель «Привязка объекта» в положение «не перемещать и не изменять размеры», снять флажок «выводить объект на печать».

Автоматизация типовых операций на листе Анализ

Сводная таблица – это еще один инструмент обработки больших списков, который позволяет подводить итоги, выполнять сортировку и фильтрацию данных.

Перед построением сводной таблицы на основе списка следует убрать из него промежуточные итоги и наложенные фильтры.

На листе Анализ создадим три макроса получения сводных таблиц для разностороннего анализа спроса и предложения.

Имя макроса Назначение
Сводная_1 Анализ спроса и предложения по эмитентам и видам ЦБ
Сводная_2 Расчет спроса и эмиссии видов ЦБ по учетным периодам
Сводная_3 Расчет объема спроса и предложения за весь учетный период

Создание макроса Сводная_1 (текущий лист Анализ)

1. Сервис – Макрос – Начать запись…

2. В окне Запись макроса указать имя макроса Сводная_1;

3. Выполнить запись:

· Выделить ячейку В1;

· Выполнить команду Данные – Сводная таблица.

· В качестве исходного диапазона указать лист Данные, выделить исходную таблицу, можно заполнить поле «Диапазон» с клавиатуры (см. рисунок).

Кнопка Далее.

· На третьем шаге построения выбран переключатель «существующий лист» и указана ячейка В1 листа Анализ.

Теперь следует нажать кнопку Макет. Расположить столбцы таблицы на макете следующим образом:

· Строка – Эмитент

· Столбец – Вид ЦБ

· Данные – Стоимость спроса и Стоимость предложения

· Щелкнуть по кнопке ОК и Готово.

· Закрыть окно «Список полей сводной таблицы»

· Выделить любую ячейку сводной таблицы. На панели инструментов Сводная таблица выбрать из раскрывающегося списка кнопки Сводная таблица команду Формулы – Вычисляемое поле.

· Заменить имя нового поля (Поле1) на Дефицит/Избыток.

· В поле Формула ввести формулу расчета, выбирая имена полей из списка, = Стоимость предложения – Стоимость спроса.

· Выделить столбцы D, E, F, Gи указать их ширину равной 12 ед.

· Выделить ячейку В1.

4. Завершить запись макроса, выполнив команду меню Сервис – МакросОстановить запись.

В результате на листе Анализ будет построена сводная таблица, а в макрос записаны команды по ее построению.

Для удаления сводной таблицы текст макроса следует набрать в окне VBA. Выполните команду Сервис – Макрос – Макросы. В окне «Макрос» выберите макрос Сводная_1 и щелкните по кнопке Войти. Установите курсор на новую строку после текста макроса Сводная_1 и наберите с клавиатуры код удаления сводной таблицы.

Sub Удалить_сводную()

Range("B1").PivotTable.PivotSelect "", xlDataAndLabel

Selection.Clear

End Sub

Закройте окно VBA. Выполните команду Сервис – Макрос – Макросы. В окне «Макрос» выберите макрос Удалить_Сводную и щелкните по кнопке Выполнить. Таблица будет удалена.

Выполните макрос Сводная_1 построения сводной таблицы. Обратите внимание, что видны промежуточные этапы построения. Чтобы пользователь их не видел, добавим в начало и конец кода макроса команду отмены режима обновления экрана - Application.ScreenUpdating = False

……………………………………….

и команду включения режима - Application.ScreenUpdating = True.

Запишем макрос Сводная_2 (на листе Анализ).

1. Сервис – Макрос – Начать запись…

2. В окне Запись макроса указать имя макроса Сводная_2;

3. Выполнить запись:

· Выделить ячейку В1;

· Выполнить команду Данные – Сводная таблица.

В качестве исходного диапазона указать лист Данные, выделить исходную таблицу. Кнопка Далее.

· На третьем шаге построения выбран переключатель «существующий лист» и указана ячейка В1 листа Анализ. Теперь нажать кнопку Макет.

· Страница - Дата

· Строка – Номинал

· Столбец – Курс

· Данные – Эмиссия и Спрос

· Закончить построение сводной таблицы.

· Закрыть окно «Список полей сводной таблицы»

· Щелкнуть правой кнопкой мыши любую ячейку столбца Номинал, выбрать в контекстном меню команду Группа и структура – Группировать. В окне Группирование указать шаг группировки или согласиться с предложенным по умолчанию. Щелкнуть ОК.

· Щелкнуть правой кнопкой мыши любую ячейку строки Курс ЦБ, выбрать в контекстном меню команду Группа и структура – Группировать. В окне Группирование указать шаг группировки 0,05. Щелкнуть ОК.

· В столбце Данные выделить ячейку «Сумма по полю Эмиссия ЦБ» и на панели инструментов «Сводная таблица» щелкнуть кнопку «Параметры поля». Переименовать поле «Сумма по полю Эмиссия ЦБ» в «Эмиссия ЦБ». Нажать ОК (см. рисунок). В имени нового поля нельзя использовать существующие имена, поэтому в конце имени просто добавим пробел.

· Выделить ячейку «Сумма по полю Спрос ЦБ», щелкнуть кнопку «Параметры поля». Переименовать поле в «Спрос ЦБ». Нажать ОК.

· Выделить ячейку В1.

4. Завершить запись макроса, выполнив команду меню Сервис – МакросОстановить запись.

Добавить в текст макроса команды отмены и включения режима обновления экрана. Выполнить макрос Удалить_сводную.

Самостоятельно создать макрос Сводная_3, в который записать построение сводной таблицы для анализа спроса и предложения за каждый учетный период, используя следующий макет расположения данных:

· Строка - Дата

· Данные - Стоимость предложения и Стоимость спроса

Выполнить группировку столбца Дата по месяцам. Переименовать поля «Стоимость спроса» и «Стоимость предложения» в «Спрос» и «Предложение» соответственно. Завершить запись макроса.

Для автоматизации выбора варианта сводной таблицы можно использовать элемент управления «Список» из панели инструментов Формы. Начать нужно с формирования перечня названий сводных таблиц в ячейках листа.

В ячейках А22-А24 создадим перечень названий сводных таблиц.

  Анализ спроса и предложения
  Расчет по учетным периодам
  Расчет за весь учетный период

Теперь следует щелкнуть по кнопке Список и нарисовать контуры элемента на рабочем листе

В контекстном меню свойств объекта выбрать закладку «Элемент управления» и указать в поле «Форматировать список по диапазону» ячейки А22:А24, в поле «Связь с ячейкой» указать N2 и установить переключатель «возможен выбор» в положение «одинарного значения». ОК. В ячейке N2 будут появляться цифры 1, 2 или 3 согласно выбранному элементу списка.

Для построения любого варианта сводной таблицы нужно написать программу, позволяющую производить выбор из созданного списка.

Запишем макрос Изменить_сводную вручную.

1. Сервис – Макрос – Макросы.

2. В окне Макрос указать имя макроса Сводная_3 и нажать кнопку Войти;

3. В окне кода после команды End Sub с новой строки набрать вручную код процедуры.

Sub Изменить_сводную()

Удалить_сводную

Select Case Range("N2").Value

Case 1

Сводная_1

Case 2

Сводная_2

Case 3

Сводная_3

End Select

End Sub

Закрыть окно VBA и назначить макрос Изменить_сводную() объекту «список». Проверить работу макроса.

Для графической иллюстрации данных, полученных в третьей сводной таблице, добавим к ней диаграмму.

Создание макроса построения диаграммы. Перед началом записи макроса на листе «Анализ» должна быть построена сводная таблица под номером 3.

Запишем макрос Диаграмма (на листе Анализ).

1. Сервис – Макрос – Начать запись…

2. В окне Запись макроса указать имя макроса Диаграмма;

3. Выполнить запись:

· Выделить любую ячейку сводной таблицы;

· Щелкнуть кнопку «Мастер диаграмм» на панели инструментов «Стандартная». Мастер добавит новый рабочий лист с диаграммой;

· Перетащите кнопку в область легенды диаграммы

· Выполните команду меню Диаграмма – Тип диаграммы. Выберите обычный вариант диаграммы (первый вариант);

· Выполните команду Диаграмма – Размещение. В окне «Размещение диаграммы» выберите переключатель «Имеющемся», а в раскрывающемся списке выберите лист «Анализ»;

· ОК. Не перемещайте диаграмму и не изменяйте ее размеры.

· Выделите ячейку В1;

4. Завершить запись макроса.

Код макроса Диаграмма будет иметь вид:

Теперь дополним код макроса Сводная_3 процедурой построения диаграммы, иллюстрирующей сводную таблицу. Для этого следует выполнить команду Сервис – Макрос –Макросы, выбрать макрос Сводная_3 и нажать кнопку Изменить. В текст макроса нужно добавить одно слово – Диаграмма – перед командой включения режима обновления экрана. Дальше приведен фрагмент кода с добавленной процедурой

Для удаления диаграммы при смене варианта сводной таблицы нужно добавить команду удаления в макрос Изменить_сводную. Ниже приведен фрагмент макроса, добавленная команда выделена полужирным шрифтом.

Sub Изменить_сводную()

Удалить_сводную


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: