Оглавление
Внедрение макрос 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 Я надеюсь, что эта статья была очень полезна для вас. Не стесняйтесь спрашивать, если у вас есть какие-либо вопросы по этой теме.