Vba pivot table — как создать сводную таблицу в excel, используя код vba?

Как создать сводную таблицу в excel. 2 способа создания сводной таблицы в эксель

Куда добавить код в редакторе VB

Я надеюсь, что теперь у вас есть общее представление о том, что такое VB Editor и какие в нем части.

В этом разделе этого руководства я покажу вам, где добавить код VBA в редактор Visual Basic.

Есть два места, где вы можете добавить код VBA в Excel:

  1. Окно кода для объекта. Этими объектами могут быть рабочая книга, рабочий лист, пользовательская форма и т. Д.
  2. Окно кода модуля.

Окно кода модуля против окна кода объекта

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

Когда вы добавляете код к любому из объектов, он зависит от какого-либо действия этого объекта, которое запускает этот код. Например, если вы хотите отобразить все рабочие листы в книге, как только вы откроете эту книгу, тогда код будет помещен в объект ThisWorkbook (который представляет книгу).

В данном случае триггер открывает книгу.

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

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

Связанный: Узнайте больше о событиях в VBA.

Напротив, код в модуле должен выполняться вручную (или его также можно вызывать из других подпрограмм).

Когда вы записываете макрос, Excel автоматически создает модуль и вставляет в него записанный код макроса. Теперь, если вам нужно запустить этот код, вам нужно вручную выполнить макрос.

Добавление кода VBA в модуль

При записи макроса автоматически создается модуль и вставляется в него код, однако при использовании средства записи макросов существуют некоторые ограничения. Например, он не может использовать циклы или условия If Then Else.

В таких случаях лучше либо скопировать и вставить код вручную, либо написать код самостоятельно.

Модуль может использоваться для хранения следующих типов кодов VBA:

  1. Декларации: Вы можете объявлять переменные в модуле. Объявление переменных позволяет указать, какой тип данных может содержать переменная. Вы можете объявить переменную только для подпрограммы или для всех подпрограмм в модуле (или всех модулях)
  2. Подпрограммы (процедуры): Это код, в котором есть шаги, которые вы хотите выполнить с помощью VBA.
  3. Функциональные процедуры: Это код, который возвращает одно значение, и вы можете использовать его для создания пользовательских функций (также называемых пользовательскими функциями или UDF в VBA).

По умолчанию модуль не является частью книги. Вам необходимо вставить его перед использованием.

Добавление модуля в редактор VB

Ниже приведены шаги по добавлению модуля:

  1. Щелкните правой кнопкой мыши любой объект книги (в котором вы хотите установить модуль).
  2. Наведите курсор на опцию Вставить.
  3. Щелкните по модулю.

Это мгновенно создаст папку с именем Module и вставит объект с именем Module 1. Если у вас уже есть вставленный модуль, вышеупомянутые шаги будут вставлять другой модуль.

После того, как модуль вставлен, вы можете дважды щелкнуть объект модуля в Project Explorer, и он откроет для него окно кода.

Теперь вы можете скопировать и вставить код или написать его самостоятельно.

Удаление модуля

Ниже приведены шаги по удалению модуля в Excel VBA:

  1. Щелкните правой кнопкой мыши модуль, который хотите удалить.
  2. Нажмите на опцию «Удалить модуль».
  3. В открывшемся диалоговом окне нажмите Нет.

Примечание. Вы можете экспортировать модуль перед его удалением. Он сохраняется как файл .bas, и вы можете импортировать его в другой проект. Чтобы экспортировать модуль, щелкните модуль правой кнопкой мыши и выберите «Экспорт файла».

Добавление кода в окно объектного кода

Чтобы открыть окно кода для объекта, просто дважды щелкните по нему.

Когда он откроется, вы можете ввести код вручную или скопировать и вставить код из других модулей или из Интернета.

Обратите внимание, что некоторые объекты позволяют выбрать событие, для которого вы хотите написать код. Например, если вы хотите написать код, чтобы что-то происходило при изменении выбора на листе, вам нужно сначала выбрать листы из раскрывающегося списка в верхнем левом углу окна кода, а затем выбрать событие изменения из раскрывающегося списка

-вниз справа

Например, если вы хотите написать код, чтобы что-то происходило при изменении выбора на листе, вам нужно сначала выбрать листы из раскрывающегося списка в верхнем левом углу окна кода, а затем выбрать событие изменения из раскрывающегося списка. -вниз справа.

Примечание: эти события относятся к объекту. Когда вы откроете окно кода для книги, вы увидите события, связанные с объектом книги. Когда вы откроете окно кода для рабочего листа, вы увидите события, связанные с объектом рабочего листа.

Изменение набора полей сводной таблицы

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

  1. Щелкните на произвольно выбранной ячейке сводной таблицы.

Excel добавит на ленту набор контекстных вкладок Работа со сводными таблицами с собственными контекстными вкладками Анализ и Конструктор.

  1. Щелкните на контекстной вкладке Анализ, чтобы отобразить на ленте ее кнопки.
  2. Щелкните на кнопке Список полей, находящейся в группе Показать.

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

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

Чтобы удалить поле, перетащите его имя из области, в которой оно находится в текущий момент (ФИЛЬТРЫ, СТРОКИ, СТОЛБЦЫ или ЗНАЧЕНИЯ), в любое другое место. Как только указатель мыши примет вид крестика, отпустите кнопку мыши или просто снимите флажок около этого поля в списке полей.

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

Переключение на альбомный лист в Microsoft Excel

​ данные на одном​ на стрелках, передвигающих​ контекстное меню, затем​.​ книжной ориентации. Главное​.​в группе​Более новые версии​ экрана.​ кнопкой любой ярлычок,​ Показать ярлычки листов​ действие в таблице,​ Excel такой:​ тоже будет уменьшен.​ полю настроек масштабирования.​ расположены максимально компактно,​. Далее перемещаемся в​ листе, следует определиться​ листы. Внизу справа​ «Формат ячеек» ->​

​Щелкните правой кнопкой мыши​​Ячейки​ Office 2010 ​А вот как добавлять​

Разворот документа

​Книга Excel​ указан параметр​ не помещаются на​«Печать»​ это делать. Нужно​ В появившемся слева​ напротив «автоподбор ширины».​ на альбомную.​ в том, что​ выберите команду​Вставить​в нижней части​ каждый. Некоторые пользователи​ просто щелкните ярлычок​ не стоит;​ листа, где будем​ листа.​на рабочем столе​

​«Текущий»​ печатный элемент, то​. В центральной части​ понимать, что большинство​ внизу таблицы списке​Ещё вариант установить​При использовании вышеописанных способов​​ при книжном направлении​​Вставить​​, а затем выберите​​ экрана.​ даже не в​ другого листа).​2) Наводим указатель​ вносить текст, цифры,​Панель быстрого доступа​ открывается несколькими вариантами,​. В открывшемся списке​ в таких случаях​ открывшегося окна расположен​ из тех способов,​

​ выберите нужный лист,​автоподбор ширины ячеек в​ происходит смена направления​​ высота страницы больше​​.​Вставить лист​Можно также на вкладке​ курсе, что существует​5.Откройте вкладку Файл.​ на кнопку слева​ вставки и любые​– здесь можно​ если программа Excel​ выбираем пункт​

​ нужно использовать другие​ блок настроек печати.​ о которых пойдет​

Способ 1: настройки печати

​ нажмите левой мышкой​ Excel​ расположения только на​ ширины, а при​

  1. ​Дважды щелкните нужный шаблон​​.​​Главная​ подобная возможность. Давайте​6.Щелкните Сохранить как​ от горизонтальной полосы​ другие действия и​ разместить кнопки с​

  2. ​ установлена на вашем​​«Параметры настраиваемого масштабирования…»​​ варианты, о которых​

  3. ​ Кликаем по наименованию​ речь ниже, предполагают​ на него и​. Здесь увеличивается размер​ текущем листе. В​ альбомном – наоборот.​​ листа.​​Совет:​​нажать кнопку​​ разберемся, как это​

  4. ​ и укажите место​ прокрутки внизу листа,​​ — внести изменения.​​ командами, которые часто​

  5. ​ компьютере, ноутбуке, т.д.​.​ мы поговорим ниже.​«Книжная ориентация»​ уменьшение масштаба данных​ сразу перейдете на​ ячейки. Написали такой​

Способ 2: вкладка «Разметка страницы»

​ то же время,​По сути, механизм процедуры​В строке​ Можно также щелкнуть выделенные​​Вставить​​ сделать различными способами.​

  1. ​ для сохранения листа.​​когда указатель примет​​ Наводим курсор на​​ и быстро нужны.​​Первый вариант.​Какое из вышеописанных действий​​Сделать так, чтобы все​​. После этого открывается​ для того, чтобы​​ этот лист.​​ текст в ячейке​

  2. ​ существует возможность для​ разворота страницы с​ярлычков листов​

Способ 3: Изменение ориентации нескольких листов одновременно

​ ярлычки листов правой​и выбрать команду​Наиболее часто применяемый вариант​ Например, выберите пункт​ вид двусторонней стрелки,​ ячейку, нажимаем левой​ Например, команду «сохранить».​Кнопка «Пуск» в​ вы бы не​

  1. ​ данные при печати​ список с возможностью​ уместить их на​Смотрите выше в этой​ Н1, но он​ применения данного параметра​​ книжной ориентации на​​щелкните правой кнопкой​ кнопкой мыши, а​Вставить лист​ добавления – это​ Компьютер (или Этот​ перетаскиваем ее вправо​ мышкой — выделилась​ Нажимаем кнопку на​ левом нижнем углу​ выбрали, перед вами​ поместились на один​

    ​ выбора другого варианта.​ одном печатном элементе.​ статье. Эти стрелки​ длинный и не​ для нескольких подобных​ альбомную в программе​ мыши ярлычок, который​ затем выбрать пункт​​.​​ использование кнопки, которая​ компьютер в Excel​ и Ярлычки листов​ ячейка.​ панели быстрого доступа​ монитора, выбираем из​ откроется окно​

  2. ​ элемент, можно также​ Выбираем наименование​ Если за границы​ обведены черным прамоугольником.​​ помещается в одну​​ элементов одновременно.​ Эксель единственный, но​​ требуется переименовать, и​​Вставить​Чтобы быстро переименовать лист,​​ называется​​ 2016), а затем​ отобразятся.​​Если нужно выделить​​ левой мышкой, появляется​

​ списка​«Параметры страницы»​ в настройках печати​«Альбомная ориентация»​

​ листа выходит относительно​Ещё один способ​ ячейку.​Если листы, к которым​ его можно запустить​ выберите команду​. На вкладке​ дважды щелкните его​«Вставить лист»​ — Рабочий стол.​Тигр​ область (диапазон из​

​ список команд (функций),​

lumpics.ru>

Работа с данными

Макрос 45. Копирование и вставка диапазона
Макрос 46. Преобразование всех формул в диапазоне в значения
Макрос 47. Преобразуем текстовых значений в числовые
Макрос 48. Преобразование тире в минус
Макрос 49. Удаляем лишние пробелы из всех ячеек в диапазоне
Макрос 50. Отсекаем слева 5 знаков в каждой ячейки диапазона
Макрос 51. Добавляем в ячейку недостающие нули
Макрос 52. Заменить пустые ячейку нулём
Макрос 53. Добавление текста в начало или конец ячейки
Макрос 54. Создание макроса преобразования данных
Макрос 55. Очистка данных (непечатаемые символы)
Макрос 56. Выделим дубликаты в диапазоне данных
Макрос 57. Скрываем повторяющиеся строки
Макрос 58. Выборочно скрываем стрелки автофильтра
Макрос 59. Копируем отфильтрованные строки в новую книгу
Макрос 60. Создание нового листа для каждого элемента в Автофильтре
Макрос 61. Показать отфильтрованные столбцы в строке состояния

Что такое сводная таблица?

Это инструмент для изучения и обобщения больших объемов данных, анализа связанных итогов и представления отчетов. Они помогут вам:

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

Например, у вас множество записей в электронной таблице с цифрами продаж шоколада:

И каждый день сюда добавляются все новые сведения. Одним из возможных способов суммирования этого длинного списка чисел по одному или нескольким условиям является использование формул, как было продемонстрировано в руководствах по функциям СУММЕСЛИ и СУММЕСЛИМН. 

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

Вот посмотрите сами.

Этот скриншот демонстрирует лишь несколько из множества возможных вариантов анализа продаж. 

Подготавливаем данные для построения сводной таблицы

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

Основные требования к таблице, из которой будет создаваться сводная таблица:

  • Все столбцы в исходной таблице должны иметь уникальные (т.е. не повторяющиеся) заголовки.
  • Все строки в пределах одного столбца должны иметь однородные данные. Например, если в столбце указан месяц в формате “янв”, то не должно быть данных в формате “Январь” — эксель сочтет их как два разных месяца. Также использование русских и похожих латинских букв (например С и C на глаз не отличишь, но одна из них в латинской раскладке, и эксель также посчитает их разными).
  • Числовые данные, которым вы будете оперировать, должны быть именно числовыми. Если есть зеленый треугольник в верхнем левом углу ячейки — такое число является текстом, и должно быть преобразовано в число, иначе с ним нельзя делать вычисления.
  • Исходная таблица не должна содержать промежуточных итогов.
  • Нежелательно иметь пустые строки 
  • Под исходной таблицей нежелательно иметь какие-то другие данные, оставьте это пространство пустым, это облегчит дальнейшее обновление сводной таблицы.

Лучшим вариантом организации исходных данных является преобразование их в “умную” таблицу. Но это не является обязательным требованием, к тому же “умные” таблицы имеют некоторые ограничения и могут быть использованы не всегда. Но в целом их использование очень упрощает работу со сводными таблицами.

9 ответов

1. Как раз DoEvents ща смотрю, надежд пока мало (событие Click там не любят или спец. скрывают. )

2. Да, эта наша тяжелая артиллерия. :-). иногда правда бывает, что через API получается даже изящнее, так что будем дерзать, если что найду, обязательно напишу, потому что вещь я думаю нужная всем кто пишет макросы для общего употребления. Да и просто приятно..

Прикольно. Спасибо за совет – DoEvents – заработал.

Я его понаставлял в разные куски макроса, как раз где у меня FormWait.Repaint обновляется (чтобы значение ProgressBar увеличить и текст того чем он щас занимается обновить). А работает он следующим образом, когда нажимаешь на кнопку “Прервать”, то событие до нее дойдет, как только в макросе повстречает DoEvents. (когда промежуток между соседними DoEvents большой, то получается так – на кнопку жмешь. ничего не происходит, кнопка не шевелится, потом через 5-10 сек раз и полезло то, что на кнопке висело..) Весело вообщем.

А для того, чтобы после нажатие кнопки “Прервать” выполнение макроса прекратить, я лучше ничего не нашел, как сделать это так:

Private Sub ButCancel_Click() Dim Response Response = MsgBox(“Вы точно хотите прервать работу макроса?”, vbQuestion + vbOKOnly + vbOKCancel, “Внимание!”) If Response = 1 Then Unload FormWaitMyModule.blnBreak = True Else End If End Sub

А в макросе, после каждого DoEvents сделать проверку, что-нибудт типа такого: If blnBreak Then Exit Sub

Может что поизящнее есть, чтобы из кода формы прекратить (не остановить, а прекратить) выполнение текущего макроса.

Рад, что получилось средствами Экселя и не пришлось посылать за тяжелой артиллерией.

Чтобы остановить – попробуй End

Просто я хотел свой код, относящийся к форме, максимально, как это сказать-то . инкапсулировать. Т.е. есть форма (один файл), включил ее в проект, перенес на другой комп, переслал другому человеку, и не надо потом долго объяснять за какие переменные там дергать, за чем следить, че проверять и вызывать. А делать с этой формой особенного ничего и не надо, показал/скрыл ее, значения на ProgressBar обновил (ну и на подписях). Для последнего я включил в модуль формы такую функцию:

Public Sub ShowFormWait(progValue As Double, textProc As String, TextFile As String)

Выделение и изменение диапазонов

Макрос 31. Выбор и форматирование диапазона
Макрос 32. Создание и выбор именованных диапазонов
Макрос 33. Перебор с помощью ряда клеток
Макрос 34. Выбор и форматирование диапазонов
Макрос 35. Вставка пустых строк в диапазоне
Макрос 36. Отобразить все скрытые строки и столбцы
Макрос 37. Удаление пустых строк
Макрос 38. Удаление пустых столбцов
Макрос 39. Выбор и форматирование всех формул в рабочем журнале
Макрос 40. Найдите и выберите первую пустую строку или столбец
Макрос 41. Применить дополнительный цвет заливки
Макрос 42. Отсортировать диапазоны по двойному щелчку
Макрос 43. Ограничение диапазона прокрутки в той или иной области
Макрос 44. Автоматически задать область печати листа

Детализация информации в сводных таблицах

Из отчета (см.выше) мы видим, что продано ВСЕГО 30 видеокарт. Чтобы узнать, какие данные были использованы для получения этого значения, щелкаем два раза мышкой по цифре «30». Получаем детальный отчет:

Как обновить данные в сводной таблице Excel?

Если мы изменим какой-либо параметр в исходной таблице либо добавим новую запись, в сводном отчете эта информация не отобразится. Такое положение вещей нас не устраивает.

Курсор должен стоять в любой ячейке сводного отчета.

Правая кнопка мыши – обновить.

Чтобы настроить автоматическое обновление сводной таблицы при изменении данных, делаем по инструкции:

  1. Курсор стоит в любом месте отчета. Работа со сводными таблицами – Параметры – Сводная таблица.
  2. Параметры.
  3. В открывшемся диалоге – Данные – Обновить при открытии файла – ОК.

«Пример создания Сводной таблицы макросом VBA Excel (эксель)»

В процессе профессиональной деятельности, оператор-аналитик многократно выполняет перегруппировку исходных (сырых) данных в тот формат, который удобен ему для анализа (например: таблица, график, диаграмма). Это может быть фильтрация, сортировка, создание сводных таблиц и т.д. …

Вспомните и проанализируйте свою повседневную работу… Как часто Вам приходится выполнять однотипные операции с однотипными файлами? Это и есть — работа по определенному алгоритму… А значит, эту работу можно запрограммировать и поручить компьютеру…

Исходных данных может быть много! Возможно, это будет множество листов во множестве книг Excel ! Результатов тоже может быть много (я имею в виду получение промежуточных результатов), но цель (или конечный результат) должна быть ясна и четко обозначена… Один макрос может прочитать мегабайты данных из разных источников (обязательно предварительно указанных) и создать несколько новых файлов (или дописать информацию в существующие файлы)…

Пример 3

Для реализации циклов в VBA Excel 2010, как и в других версиях, наряду с уже приведенной конструкцией Do While используется For.

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

Сначала нужно создать макрос, как описано выше. Далее записываем сам код. Считаем, что нас интересуют значения для 10 ячеек. Код выглядит следующим образом.

For i = 1 to 10 Next

Команда переводится на «человеческий» язык, как «Повторять от 1 до 10 с шагом один».

Если ставится задача получить столбец с квадратами, например, всех нечетных чисел из диапазона от 1 до 11, то пишем:

For i = 1 to 10 step 1 Next.

Здесь step — шаг. В данном случае он равен двум. По умолчанию отсутствие этого слова в цикле означает, что шаг единичный.

Полученные результаты нужно сохранять в ячейки с номером (i,1). Тогда при каждом запуске цикла с увеличением i на величину шага автоматически будет расти и номер у строки. Таким образом, произойдет оптимизация кода.

В целом код будет выглядеть, как:

Sub program()

For i = 1 To 10 Step 1 (можно записать просто For i = 1 To 10)

Cells(i, 1).Value = i ^ 2 (т.е. в ячейку (i,1) записывается значение квадрата i)

Next (в некотором смысле играет роль счетчика и означает еще один запуск цикла)

End Sub.

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

Плюсы сводных таблиц

Отчеты в формате сводных таблиц обладают серьезными преимуществами перед другими типами отчетов в Excel. Рассмотрим каждое из них:

  1. Таблица составляется по практически любому объему данных.
  2. Редактировать вид отчета можно через меню форматов – встроенная библиотека содержит множество цветовых тем таблиц.
  3. Возможно объединение данных в более широкие группы, например несколько дат объединяются в кварталы.
  4. По результатам отчета можно провести расчеты с помощью инструментов Excel, это не повлияет на источники данных.
  5. Информация в сводной таблице может стать основой для составления графика или другого визуального отчета.

Области сводной таблицы в Excel

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

Ниже вы узнаете подробней об областях:

  • Кэш
  • Область “Значения”
  • Область “Строки”
  • Область “Столбцы”
  • Область “Фильтры”

Что такое кэш сводной таблицы

При создании сводной таблицы, Excel создает кэш данных, на основе которых будет построена таблица.

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

Область “Значения”

Область “Значения” включает в себя числовые элементы таблицы. Представим, что мы хотим отразить объем продаж регионов по месяцам (из примера в начале статьи). Область закрашенная желтым цветом, на изображении ниже, отражает значения размещенные в области “Значения”.

На примере выше создана таблица, в которой отражены данные продаж по регионам с разбивкой по месяцам.

Область”Столбцы”

Заголовки вверху значений таблицы называются “Столбцы”.

На примере ниже красным выделены поля “Столбцы”, в нашем случае это значения месяцев.

Область “Фильтры”

Область “Фильтры” используется опционально и позволяет задать уровень детализации данных. Например, мы можем в качестве фильтра указать данные “Тип клиента” – “Продуктовый магазин” и Excel отобразит данные в таблице касающиеся только продуктовых магазинов.

Получение списка файлов в папке и подпапках средствами VBA

Функция VBA для получения списка файлов из папки, с учётом выбранной глубины поиска в подпапках

Пример в файле FilenamesCollection.xls выводит список файлов на чистый лист новой книги (формируя заголовки)

Пример в файле FilenamesCollectionEx.xls более функционален — он, помимо списка файлов из папки, отображает размер файла, и дату его создания, а также формирует в ячейках гиперссылки на найденные файлы.

Вывод списка производится на лист запуска, параметры поиска файлов задаются в ячейках листа (см. скриншот)

  • 158 комментариев
  • Читать далее
  • 234694 просмотра
  • 2 прикреплённых файла

Объекты, коллекции, свойства и методы

Именно с этими понятиями нужно разобраться тем, кто собирается работать в среде VBA. Прежде всего необходимо понять, что такое объект. В Excel в этом качестве выступают лист, книга, ячейка и диапазон. Данные объекты обладают специальной иерархией, т.е. подчиняются друг другу.

Главным из них является Application, соответствующий самой программе Excel. Затем следуют Workbooks, Worksheets, а также Range. Например, для обращения к ячейке A1 на конкретном листе следует указать путь с учетом иерархии.

Что касается понятия «коллекция», то это группа объектов того же класса, которая в записи имеет вид ChartObjects. Ее отдельные элементы также являются объектами.

Следующее понятие — свойства. Они являются необходимой характеристикой любого объекта. Например, для Range — это Value или Formula.

Методы — это команды, показывающие, что требуется сделать. При написании кода в VBA их необходимо отделять от объекта точкой. Например, как будет показано в дальнейшем, очень часто при программировании в «Эксель» используют команду Cells(1,1).Select. Она означает, что необходимо выбрать ячейку с координатами (1,1) т.е. A1.

Вместе с ней нередко используется Selection.ClearContents. Ее выполнение означает очистку содержимого выбранной ячейки.

Как построить сводную таблицу в Excel из обычной таблицы

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

Рассматривать будем на примере обычной таблицы.

Если мы не предполагаем в дальнейшем добавлять в исходную таблицу данные, то можно выделить только диапазон этой таблицы, например, А1:Н202. Однако, если в исходную таблицу будут добавляться данные, лучше выделить полностью столбцы, входящие в таблицу. Иначе есть риск, что при обновлении сводной таблицы новые данные в нее не попадут.

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

Далее вкладка Вставка — Сводная таблица.

Появится окно создания сводной таблицы. Разберем, что в нем:

  • Выберите данные для анализа. Здесь уже указан диапазон, который вы выделили, не меняйте его.
  • Укажите, куда следует поместить отчет сводной таблицы. Новичкам (и не только) советую всегда выбирать Новый лист. Если выбираете “на существующий лист”, то нужно указать ячейку на уже созданном листе, с которой будет начинаться сводная таблица. Только учтите, что пространство нужно выбрать с запасом, чтобы потом сводная таблица не “съела” данные на листе.

Выберем На новый лист и нажмем ОК.

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

Как можно добавлять поля из исходной таблицы в сводную.

  • нажимая на “галочку”. При этом нужно контролировать, в какую область (строки или столбцы) excel занесет отмеченное поле. При необходимости перенести.
  • щелкнув правой кнопкой мыши на названии поля и выбрав, куда его поместить

перетаскивая мышкой поля в нужный раздел. Такой способ рекомендуется.

Перетащим поле Категория в блок СТРОКИ, поле Месяц — в блок СТОЛБЦЫ, а поле Стоимость — в блок ЗНАЧЕНИЯ. 

Обратите внимание!

Возле слова Количество не случайно указан знак вопроса. В большинстве версий excel по умолчанию считает в значениях именно количество элементов. По невнимательности можно оставить так и получить кривой результат.

Нам же нужна именно сумма по полю Стоимость. Нажмем на “треугольник” и выберем Параметры полей значений, и далее — Сумма.

В итоге получим такую сводную таблицу. В строках — Категории товара, в столбцах — месяцы, а в ячейках — суммы выручки от продаж товаров данной категории. И это без единой формулы!

Понравилась статья? Поделиться с друзьями:
Самоучитель Брин Гвелл
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: