Обновяване на оборотна таблица в VBA

Обикновено създаваме оборотна таблица, когато трябва да създадем някакъв вид графики или диаграми или трябва да извършим някакъв анализ над нея. Като подготвим Pivot таблицата, можем да получим цялостния изглед и идеята за това какво всъщност е вътре в данните. Това е най-добрият начин да намерите начин да влезете в данни. И всеки път, когато правим някакви промени в данните, трябва да опресняваме и въртящата се таблица. Така че тя ще попълни и актуализирания брой данни. Освежаването на всяка въртяща се таблица е много лесно, но какво ще стане, ако имаме 10 секунди от оборотни таблици в един единствен Excel файл, който трябва да актуализираме. Така че, вместо да опресняваме всички основни таблици една по една, можем директно да опресним всички въртящи се таблици едновременно с помощта на VBA Refresh Pivot Table.

Как да използвам Refresh Pivot Table в Excel VBA?

По-долу са различните примери за използване на Refresh Pivot Table в Excel, използвайки VBA код.

Можете да изтеглите този шаблон на VBA Refresh Pivot Table Excel тук - VBA Refresh Pivot Table Excel шаблон

VBA Refresh Pivot Table - Пример №1

За опресняване на въртящата се маса първо трябва да създадем оборотна таблица. По-долу имаме данни от договорена покупка от 1000s, чрез която ще създаваме въртяща се таблица.

В горната снимка на екрана можем да видим последния ред на номер 1001 и тези данни имат информация за клиента спрямо продаденото им количество.

Сега отидете на менюто Вмъкване и щракнете върху опцията PivotTable .

Ще получим кутия Create PivotTable. Оттам първо изберете диапазона на таблицата, който искаме да включим в въртяща се таблица. След това изберете всяко място в текущия лист за Pivot таблицата. Можем да изберем и Нов работен лист.

След като сте готови, щракнете върху Ок.

Ще получим създадената въртяща се таблица. Сега плъзнете необходимите полета в различни области, за да получите действителната въртяща се таблица. Тук ние влачим името на клиента в ROWS и Количество в COLUMNS, както е показано по-долу.

Това завършва създаването на PivotTable. Но трябва да актуализираме въртящата се таблица, след като променим каквото и да е в Data, това може да стане чрез просто опресняване на опцията от десния бутон на мишката върху падащото меню, както е показано по-долу.

Но същият процес може да бъде автоматизиран и чрез VBA. За това ще ни трябва модул. Така,

Стъпка 1: Отидете на раздел Вмъкване на меню и изберете опция Модул от падащия списък, както е показано по-долу.

Стъпка 2: В новооткрития модул напишете подкатегорията на VBA Pivot Refresh или можем да изберем всяко име според нашия избор.

Код:

 Sub Pivot_Refresh2 () End Sub 

Стъпка 3: Първо определете променлива като PivotCache, както е показано по-долу. PivotCache използва кевот кеша, а не данните, използвани за създаването на Pivot таблицата.

Код:

 Sub Pivot_Refresh2 () Dim Таблица като PivotCache End Sub 

Стъпка 4: Сега ще използваме контура за всеки . Затова отворете контур за всеки, както е показано по-долу.

Код:

 Sub Pivot_Refresh2 () Dim Таблица като PivotCache за всяка следваща крайна таблица Sub 

Стъпка 5: Сега вътре в контура за For-End, ще напишем условието, при което ще изберем отворения в момента работен лист, който има Pivot таблицата с PivotCache .

Код:

 Sub Pivot_Refresh2 () Dim Таблица като PivotCache за всяка таблица в ThisWorkbook.PivotCaches Следващ край на таблицата Sub 

Стъпка 6: Сега ще използваме командата Refresh, като я присвояваме определената променлива таблица .

Код:

 Sub Pivot_Refresh2 () Dim Таблица като PivotCache за всяка таблица в ThisWorkbook.PivotCaches Table.Refresh Next End End Sub 

Стъпка 7: Това завършва кода, сега компилирайте кода, за да подадете грешка чрез натискане на функционален клавиш F8. Сега, за да проверим дали написаният код работи на не, променихме количеството на клиент14 на 69 .

Стъпка 8: Сега стартирайте кода. Ще видим, че общият брой спрямо Customer14 е актуализиран до 2183, което е подчертано в жълт цвят.

VBA Refresh Pivot Table - Пример №2

Има и друг начин за освежаване на Pivot таблицата чрез VBA. Преди да продължим напред, можем да обмислим промяна на името на въртяща се таблица или можем да използваме и името по подразбиране. Нека се опитаме да дадем ново име на Pivot таблицата. За това изберете въртящата се таблица и отидете на раздела на менюто Анализ, както е показано по-долу.

В първия раздел на името на обобщената таблица можем да видим името по подразбиране като PivotTable1 .

Сега ще променим това име. Помислете да напишете новото име като клиентски данни, както е показано по-долу.

Стъпка 1: След това отворете нов модул и напишете подкатегорията на VBA Refresh, както е показано по-долу.

Код:

 Sub Pivot_Refresh3 () End Sub 

Стъпка 2: Сега дефинирайте променлива като PivotTable . Тук с PivotTable ще разгледаме пълните изходни данни.

Код:

 Sub Pivot_Refresh3 () Dim Таблица като PivotTable End Sub 

Стъпка 3: Сега използвайте Set с определена променлива и изберете листа, който е отворен в момента.

Код:

 Sub Pivot_Refresh3 () Dim Таблица като PivotTable Set Table = ActiveSheet. Край Sub 

Стъпка 4: Изберете името на Pivot таблицата, която искаме да обновим, заедно с променливия тип данни, който сме използвали като PivotTable .

Код:

 Sub Pivot_Refresh3 () Dim Таблица като PivotTable Set Table = ActiveSheet.PivotTables ("Данни за клиента") End Sub 

Стъпка 5: Най-сетне използвайте променливата с функция RefreshTable, за да я изпълните.

Код:

 Sub Pivot_Refresh3 () Dim Таблица като PivotTable Set Table = ActiveSheet.PivotTables ("Данни за клиента") Table.RefreshTable End Sub 

Стъпка 6: Нека направим още няколко промени в данните, за да дадем реалните визуализации на приложен код.

Променихме броя на Customer2 като 56 . Сега, ако изпълним кода, в въртящата се таблица на Името на клиента трябва да има промените в сумата на количеството за Customer2 .

Стъпка 7: Сега отидете на прозореца на VBA и компилирайте кода. Ако не е намерена грешка, стартирайте я, като кликнете върху бутона за възпроизвеждане, който се намира под лентата на менюто, както е показано по-долу. Ще забележим, че сума от продаденото количество за Customer2 вече достига до 1724 г., като правим промените в таблицата на източника.

По този начин можем да включим повече от една изходна информация и да създадем различна въртяща се таблица. И автоматизирането на тези въртящи се маси също е лесно, тъй като просто трябва да включим името и листа на въртящата се таблица, където се намира таблицата.

Плюсове на VBA Refresh Pivot Table

  • Отнема много по-малко време за освежаване на въртящата се таблица по VBA код.
  • Той е много лесен за изпълнение.

Неща, които трябва да запомните

  • Можем да добавим таблица с множество източници на данни и да ги автоматизираме по VBA код.
  • За да видите промените да се случат, дръжте прозореца на VBA и Excel листа успоредни един на друг.
  • По-добре е да посочвате всяка въртяща се таблица, ако имате работа и обработвате множество източници на данни и въртящи се таблици.
  • Кодът с име на въртяща се таблица е лесен за разбиране, проследяване и намиране.

Препоръчителни статии

Това е ръководство за VBA Refresh Pivot Table. Тук обсъждаме как да използвате Excel VBA Refresh Pivot Table, заедно с практически примери и шаблон за Excel за изтегляне. Можете да разгледате и другите ни предложени статии -

  1. VBA FileSystemObject (FSO)
  2. Функция Substring Excel
  3. VBA Дължина на низа
  4. Excel ISNUMBER Formula

Категория: