VBA для обновления сводной таблицы в Excel (5 примеров)

  • Поделись Этим
Hugh West

Внедрение макрос VBA это самый эффективный, быстрый и безопасный метод выполнения любых операций в Excel. В этой статье мы покажем вам, как обновить таблицу pivot в Excel с помощью VBA.

Скачать рабочую тетрадь

Вы можете скачать бесплатную практическую рабочую тетрадь Excel отсюда.

Обновление поворотной таблицы с помощью VBA.xlsm

5 примеров обновления сводной таблицы с помощью VBA в Excel

Ниже приведен пример нашей таблицы pivot, которую мы будем использовать на протяжении всей статьи и покажем вам 5 различных примеров обновление таблиц pivot в Excel с VBA код.

1. VBA для обновления одной сводной таблицы в Excel

Если вы хотите обновить только одну таблицу pivot в рабочем листе Excel,

  • Нажмите Alt + F11 на клавиатуре или перейдите на вкладку Разработчик -> Visual Basic открыть Редактор Visual Basic .

  • Во всплывающем окне кода в строке меню нажмите Вставка -> Модуль .

  • Скопируйте следующий код и вставьте его в окно кода.
 Sub RefreshOnePivotTable() ActiveSheet.PivotTables("PivotTable1").RefreshTable End Sub 

Теперь ваш код готов к выполнению.

Вот, PivotTable1 это имя нашей Pivot Table. Вы пишете имя, которое имеет ваша Pivot Table.

  • Нажмите F5 на клавиатуре или в строке меню выберите Run -> Run Sub/UserForm Вы также можете просто нажать на маленький значок Play в строке подменю, чтобы запустить макрос.

Это позволит обновить сводную таблицу в существующем рабочем листе Excel.

Читать далее: Таблица Pivot не обновляется (5 проблем и решений)

2. Макрос для обновления всех таблиц Pivot в активном рабочем листе

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

  • Так же, как и раньше, откройте Редактор Visual Basic из Разработчик вкладка и Вставка a Модуль в окне кода.
  • В окне кода скопируйте следующий код и вставьте его.
 Sub RefreshActiveSheetPivotTables() Dim PivotTbl As PivotTable For Each PivotTbl In ActiveSheet.PivotTables PivotTbl.RefreshTable Next PivotTbl End Sub 

Теперь ваш код готов к выполнению.

  • Запускайте макрос, и все таблицы pivot в активном рабочем листе будут обновлены.

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

3. Код VBA для обновления всех таблиц Pivot в нескольких рабочих книгах

Если вы хотите обновить все сводные таблицы в нескольких рабочих книгах сразу с VBA код, то шаги таковы:

  • Открыть Редактор Visual Basic из Разработчик вкладка и Вставка a Модуль в окне кода.
  • В окне кода скопируйте следующий код и вставьте его.
 Sub RefreshAllPivotTables() Dim PivotTbl As PivotTable For Each PivotTbl In ActiveWorkbook.PivotTables PivotTbl.RefreshTable Next PivotTbl End Sub 

Теперь ваш код готов к выполнению.

  • Запускайте код, и все таблицы pivot во всех открытых рабочих книгах Excel будут обновлены.

Помните чтобы сохранить все рабочие тетради открыть во время выполнения этого кода.

Похожие чтения

  • Как редактировать сводную таблицу в Excel (5 способов)
  • Обновление диапазона поворотной таблицы (5 подходящих методов)
  • Как автоматически обновлять сводную таблицу при изменении исходных данных

4. Обновление кэша таблиц Pivot Table с помощью VBA в Excel

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

Шаги для этого следующие,

  • Открыть Редактор Visual Basic из Разработчик вкладка и Вставка a Модуль в окне кода.
  • В окне кода скопируйте следующий код и вставьте его.
 Sub RefreshPivotTableCache() Dim PivotCache As PivotCache For Each PivotCache In ActiveWorkbook.PivotCaches PivotCache.Refresh Next PivotCache End Sub 

Теперь ваш код готов к выполнению.

  • Запускайте код и все кэш-памяти поворотной таблицы будут очищены.

Читать далее: Как автоматически обновить таблицу Pivot Table без VBA в Excel (3 умных метода)

5. Автоматическое обновление поворотной таблицы при изменении данных с помощью макроса VBA

Что если у вас есть таблица pivot, содержащая большое количество данных, и все, что вам нужно, это обновить несколько данных, не трогая при этом всю таблицу? В Excel вы можете автоматическое обновление сводной таблицы при обновлении данных с помощью VBA .

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

  • Появится окно кода, в котором мы создадим макрос события. Выберите Рабочий лист из Объект выпадающее поле слева от модуля кода. Это добавит в поле Worksheet_SelectionChange событие в модуле, на самом деле оно нам не нужно, поэтому мы удалим этот кусок кода позже.
  • Затем нажмите на Процедура выпадающий список и выберите Изменить Это добавляет новое событие в верхней части модуля кода под названием Рабочий лист_Изменение Здесь мы напишем наш код следующим образом удалить код, сгенерированный Worksheet_SelectionChange

  • Теперь скопируйте следующий код и вставьте его в поле Рабочий лист_Изменение
 Private Sub Worksheet_Change(ByVal Target As Range) Worksheets("PivotTbl").PivotTables("PivotTable1").PivotCache.Refresh End Sub 

Теперь ваш код готов к выполнению.

Вот, PivotTbl это имя рабочего листа в нашей рабочей книге Excel, а PivotTable1 это имя нашей Pivot Table. Вы пишете имя, которое имеет ваш рабочий лист и Pivot Table.

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

Читать далее: Как автоматически обновить сводную таблицу в Excel

Заключение

В этой статье вы узнаете, как обновить сводную таблицу в Excel с VBA Я надеюсь, что эта статья была очень полезна для вас. Не стесняйтесь спрашивать, если у вас есть какие-либо вопросы по этой теме.

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.