Как обновить сводные таблицы в vba (с примерами)
Вы можете использовать следующие методы для обновления сводных таблиц в Excel с помощью VBA:
Способ 1. Обновление определенной сводной таблицы.
Sub RefreshPivotTable()
Sheet1.PivotTables(" PivotTable1 ").Refreshtable
End Sub
Этот конкретный макрос обновит только значения в сводной таблице под названием PivotTable1 на листе 1 книги.
Способ 2. Обновите все сводные таблицы в книге.
Sub RefreshAllPivotTables()
ThisWorkbook.RefreshAll
End Sub
Этот конкретный макрос обновит значения каждой сводной таблицы во всей книге.
Следующие примеры показывают, как использовать каждый из этих методов на практике.
Пример 1. Обновление определенной сводной таблицы.
Допустим, мы создали сводную таблицу из набора данных в Excel:
Когда мы находимся на вкладке «Анализ сводной таблицы» на верхней ленте Excel, мы видим в верхнем левом углу, что эта сводная таблица называется PivotTable1 .
Предположим, мы изменили последнее значение столбца точек в наборе данных с 22 на 200 :
Мы можем создать следующий макрос для обновления значений этой конкретной сводной таблицы:
Sub RefreshPivotTable()
Sheet1.PivotTables(" PivotTable1 ").Refreshtable
End Sub
Когда мы запускаем этот макрос, значения сводной таблицы автоматически обновляются:
Пример 2. Обновление всех сводных таблиц в книге.
Допустим, мы создали две сводные таблицы из набора данных в Excel:
Первая сводная таблица показывает сумму очков на команду и на позицию.
Вторая сводная таблица показывает среднее количество очков по командам и позициям.
Предположим, мы изменили последнее значение столбца точек в наборе данных с 22 на 200 .
Мы можем создать следующий макрос для обновления значений всех сводных таблиц во всей книге:
Sub RefreshAllPivotTables()
ThisWorkbook.RefreshAll
End Sub
Когда мы запускаем этот макрос, значения в обеих сводных таблицах автоматически обновляются:
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
VBA: Как добавить значения в диапазон
VBA: Как рассчитать среднее значение диапазона
VBA: Как подсчитать уникальные значения в диапазоне