logo search
Avtomatizatsia_ekonomicheskih_raschetov_v_Excel

5.4.5.2. Использование сводных таблиц

Предположим, что нам периодически требуются данные о структуре продаж следующего вида:

Товар

Количество

Валенки

15

Галоши

25

….

….

Очевидно, что такой отчет – это типичная сводная таблица. Чтобы избавить пользователя от ручного формирования этой таблицы мы можем автоматизировать его.

Интерфейс вычислений может выглядеть следующим образом:

B

C

D

E

16

17

18

19

20

21

22

Сумма по полю Количество

 

23

Наименование

Итог

24

Валенки

41

25

Галоши

22

26

Кепки a'la Lenin

6

27

Кепки a'la Luzkov

9

28

Лапти дубовые

16

29

Лапти липовые

25

30

Общий итог

119

31

При щелчке по кнопке «Сформировать» появляется соответствующая сводная таблица.

Для реализации расчетов сформируем сводную таблицу в режиме записи макроса:

Сервис > Макрос > Начать запись > Ввести имя макроса (например, «Структура_продаж») > Данные > Сводная таблица > Далее > В качестве диапазона указать Данные_продаж > Далее > Переключатель установить в положение «Существующий лист» и ввести адрес формируемой сводной таблицы (в данном случае C22) > Макет > В область макета «Строка» перетаскиваем поле «Наименование», а в область «Данные» перетаскиваем поле «Количество» > Ok > Готово > Сервис > Макрос > Остановить запись

Затем создаем кнопку «Сформировать» и связываем ее с созданным макросом.

При первичном щелчке по кнопке сводная таблица формируется без проблем. Но, если щелкнуть по ней еще раз, то выйдет сообщение об ошибке.

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

Для автоматизации очистки запишем макрос:

Сервис > Макрос > Начать запись > Ввести имя макроса (например, «Очистка») > Выделяем область B21:E31 > Нажимаем клавишу «Delete» > Сервис > Макрос > Остановить запись.

Создадим кнопку «Очистить» и свяжем ее с макросом «Очистка».

Окончательный интерфейс расчетов будет выглядеть следующим образом: