Как обновить все таблицы Pivot Tables с помощью VBA (4 способа)

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

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

Обновление всех поворотных таблиц с помощью VBA в Excel (быстрый просмотр)

 Dim Table As PivotTable For Each Table In ActiveWorkbook.PivotTables Table.RefreshTable Next Table 

Это позволит обновить все Сводные таблицы активной рабочей книги.

Скачать Практическое пособие

Скачайте эту рабочую тетрадь для тренировок, чтобы заниматься во время чтения этой статьи.

Refresh All Pivot Tables.xlsm

4 способа обновить все таблицы Pivot с помощью VBA в Excel

A Поворотная таблица это особый тип таблицы в рабочем листе Excel, который содержит две категории данных, озаглавленные Строка и Значение соответственно.

Все столбцы таблицы относятся к этим двум категориям.

Он генерируется автоматически из набора данных, если выбрать набор данных и перейти в раздел Вставка> PivotTable на панели инструментов Excel.

Сегодня наша цель - узнать, как мы можем освежить все Сводные таблицы рабочего листа или рабочей книги с VBA в Excel.

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

Во-первых, мы научимся обновлять один Поворотная таблица .

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

Тогда вы должны использовать RefreshTable метод VBA .

Здесь у нас есть Поворотная таблица под названием PivotTable1 в активном рабочем листе. (Нажмите здесь, чтобы узнать. как получить имя таблицы Pivot Table ).

Чтобы обновить его, нужно использовать следующие строки кода:

 Dim Table1 As PivotTable Set Table1 = ActiveSheet.PivotTables("PivotTable1") Table1.RefreshTable 

Запустите код, и он обновит окно Поворотная таблица под названием PivotTable1 в активном рабочем листе.

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

2. Обновление всех сводных таблиц рабочего листа в Excel

Теперь мы обновим все Сводные таблицы рабочего листа с VBA .

Чтобы обновить все Сводные таблицы активного рабочего листа, вы должны выполнить итерации по каждому Поворотная таблица из ActiveSheet.PivotTables объект. Затем используйте RefreshTable метод.

 Dim Table As PivotTable For Each Table In ActiveSheet.PivotTables Table.RefreshTable Next Table 

Запустите код, и он обновить все таблицы Pivot Tables активного рабочего листа.

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

3. Обновление всех сводных таблиц рабочей книги в Excel

Вы также можете обновить все Сводные таблицы рабочей книги в Excel.

Чтобы обновить все Сводные таблицы активной рабочей книги, пройдитесь по каждой таблице по параметру ActiveWorkbook.PivotTables объект VBA . Затем используйте RefreshTable метод.

 Dim Table As PivotTable For Each Table In ActiveWorkbook.PivotTables Table.RefreshTable Next Table 

Этот код обновит все Сводные таблицы активной рабочей книги.

Подробнее: Как автоматически обновлять сводную таблицу при изменении исходных данных

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

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

Чтобы обновить Кэш для разворотной таблицы перебираем каждый Кэш для разворотной таблицы активной рабочей книги по ActiveWorkbook.PivotCaches объект.

Затем используйте R efresh метод VBA .

 Dim Cache As PivotCache For Each Cache In ActiveWorkbook.PivotCaches Cache.Refresh Next Cache 

Это обновит все Кэш для разворотной таблицы из активной рабочей книги.

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

О чем следует помнить

Здесь мы показали, чтобы обновить Сводные таблицы только из активного рабочего листа или рабочей книги. Если вы хотите обновить данные из рабочей книги или рабочего листа, который не является активным, используйте имя рабочего листа или рабочей книги вместо параметра ActiveSheet или ActiveWorkbook объект.

Например, чтобы обновить все Сводные таблицы с сайта Лист1 , используйте For Each Table In Worksheets("Sheet1").PivotTables .

И чтобы освежиться от Рабочая тетрадь1 , используйте For Each Table In Workbooks("Workbook1").PivotTables .

Заключение

Используя эти методы, вы можете обновить все Сводные таблицы из рабочего листа или рабочей книги с VBA в Excel. У вас есть вопросы? Не стесняйтесь, задавайте их нам.

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