Обновить сводную таблицу в VBA
Мы обычно создаем сводную таблицу, когда нам нужно создать какие-то графики или диаграммы, или нам нужно провести некоторый анализ над ней. Подготовив сводную таблицу, мы можем получить общее представление и представление о том, что на самом деле находится внутри данных. Это лучший способ найти способ получить данные. И каждый раз, когда мы вносим какие-либо изменения в данные, нам также необходимо обновлять сводную таблицу. Так что он будет заполнять обновленный счетчик данных. Обновление любой сводной таблицы очень просто, но что делать, если у нас есть 10сек сводных таблиц в одном файле Excel, который нам нужно обновить. Таким образом, вместо обновления всех сводных таблиц одну за другой, мы можем напрямую обновить все сводные таблицы за один раз с помощью VBA Refresh Pivot Table.
Как использовать Обновить сводную таблицу в Excel VBA?
Ниже приведены различные примеры использования Обновить сводную таблицу в Excel с использованием кода VBA.
Вы можете скачать этот шаблон Excel для сводной таблицы обновления VBA здесь - шаблон Excel для сводной таблицы обновления VBAСводная таблица обновления VBA - пример № 1
Для обновления сводной таблицы, во-первых, нам нужно создать сводную таблицу. Ниже у нас есть данные о позиции 1000 с, по которой мы будем создавать сводную таблицу.
На приведенном выше снимке экрана мы видим последнюю строку в 1001, и эти данные содержат информацию о покупателе и количество, проданное им.
Теперь перейдите на вкладку меню « Вставка » и выберите опцию « Сводная таблица» .
Мы получим окно Создать сводную таблицу. Оттуда сначала выберите диапазон таблицы, который мы хотим включить в сводную таблицу. Затем выберите любое место в текущем листе для сводной таблицы. Мы также можем выбрать новый рабочий лист.
После этого нажмите кнопку ОК.
Мы создадим сводную таблицу. Теперь перетащите необходимые поля в разные области, чтобы получить актуальную сводную таблицу. Здесь мы перетаскиваем имя клиента в ROWS, а количество в COLUMNS, как показано ниже.
Это завершает создание сводной таблицы. Но нам нужно обновить сводную таблицу после изменения чего-либо в Data, это можно сделать, просто обновив опцию из раскрывающегося списка правой кнопкой мыши, как показано ниже.
Но тот же процесс может быть автоматизирован и через VBA. Для этого нам понадобится модуль. Так,
Шаг 1: Перейдите на вкладку меню «Вставка» и выберите «Модуль» в раскрывающемся списке, как показано ниже.
Шаг 2: В недавно открытом модуле напишите подкатегорию VBA Pivot Refresh, или мы можем выбрать любое имя по нашему выбору.
Код:
Sub Pivot_Refresh2 () End Sub
Шаг 3. Сначала определите переменную как PivotCache, как показано ниже. PivotCache использует сводный кеш, а не данные, используемые для создания сводной таблицы.
Код:
Sub Pivot_Refresh2 () Dim Table As PivotCache End Sub
Шаг 4: Теперь мы будем использовать цикл For-Each . Так что откройте цикл For-Each, как показано ниже.
Код:
Sub Pivot_Refresh2 () Dim Table As PivotCache для каждой следующей таблицы End Sub
Шаг 5: Теперь внутри цикла For-End мы напишем условие, в котором мы выберем текущий открытый лист с таблицей Pivot с PivotCache .
Код:
Sub Pivot_Refresh2 () Dim Table As PivotCache для каждой таблицы в ThisWorkbook.PivotCaches Следующая таблица End Sub
Шаг 6: Теперь мы будем использовать команду Обновить, назначив ей определенную переменную Table .
Код:
Sub Pivot_Refresh2 () Dim Table As PivotCache для каждой таблицы в таблице ThisWorkbook.PivotCaches. Обновить Следующая таблица End Sub
Шаг 7: Это завершает код, теперь скомпилируйте код в файл ошибки, нажав функциональную клавишу F8. Теперь, чтобы проверить, работает ли написанный код, мы изменили количество Customer14 на 69 .
Шаг 8: Теперь запустите код. Мы увидим, что общий счет против Customer14 обновлен до 2183, который выделен желтым цветом.
Сводная таблица обновления VBA - пример № 2
Есть еще один способ обновить сводную таблицу через VBA. Прежде чем двигаться дальше, мы можем рассмотреть вопрос об изменении имени сводной таблицы или использовать имя по умолчанию. Давайте попробуем дать новое имя сводной таблице. Для этого выберите сводную таблицу и перейдите на вкладку меню « Анализ », как показано ниже.
В первом разделе Имени сводной таблицы мы видим имя по умолчанию как Сводная таблица1 .
Теперь мы изменим это имя. Попробуйте записать новое имя как Данные клиента, как показано ниже.
Шаг 1: После этого откройте новый модуль и запишите подкатегорию VBA Refresh, как показано ниже.
Код:
Sub Pivot_Refresh3 () End Sub
Шаг 2: Теперь определите переменную как сводную таблицу . Здесь, с помощью сводной таблицы, мы рассмотрим полные исходные данные.
Код:
Sub Pivot_Refresh3 () Dim Table As PivotTable End Sub
Шаг 3: Теперь используйте Set с определенной переменной и выберите лист, который открыт в данный момент.
Код:
Sub Pivot_Refresh3 () Dim Table As PivotTable Set Table = ActiveSheet. End Sub
Шаг 4: Выберите имя сводной таблицы, которую мы хотим обновить вместе с переменным типом данных, который мы использовали в качестве сводной таблицы .
Код:
Sub Pivot_Refresh3 () Dim Table As PivotTable Set Table = ActiveSheet.PivotTables ("Данные клиента") End Sub
Шаг 5: Наконец, используйте переменную с функцией RefreshTable для ее выполнения.
Код:
Sub Pivot_Refresh3 () Dim Table As PivotTable Set Table = ActiveSheet.PivotTables ("Данные клиента") Table.RefreshTable End Sub
Шаг 6: Давайте внесем еще некоторые изменения в данные, чтобы получить реальное представление о прикладном коде.
Мы изменили счет Customer2 как 56 . Теперь, если мы запустим код, в сводной таблице имени клиента, должны быть изменения в сумме количества для клиента2 .
Шаг 7: Теперь перейдите в окно VBA и скомпилируйте код. Если ошибки не найдены, запустите ее, нажав кнопку воспроизведения, которая находится под строкой меню, как показано ниже. Мы заметим, что сумма количества, проданного за Customer2, теперь увеличивается до 1724, внося изменения в исходную таблицу.
Таким образом, мы можем включить несколько исходных данных и создать другую сводную таблицу. И автоматизировать эти сводные таблицы также легко, поскольку нам просто нужно включить имя сводной таблицы и лист, где расположена таблица.
Плюсы VBA Refresh Pivot Table
- Обновление сводной таблицы с помощью кода VBA занимает очень мало времени.
- Это очень легко реализовать.
То, что нужно запомнить
- Мы можем добавить несколько таблиц источников данных и автоматизировать их с помощью кода VBA.
- Чтобы изменения произошли, держите окно VBA и лист Excel параллельно друг другу.
- Лучше назвать каждую сводную таблицу, если вы имеете дело и работаете с несколькими источниками данных и сводными таблицами.
- Код с именем сводной таблицы легко понять, отследить и найти.
Рекомендуемые статьи
Это руководство к сводной таблице обновлений VBA. Здесь мы обсудим, как использовать Excel VBA Refresh Pivot Table вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -
- VBA FileSystemObject (FSO)
- Функция подстроки Excel
- VBA Длина строки
- Excel ISNUMBER Formula