Uppdatera pivottabellen i VBA

Vi skapar vanligtvis en pivottabell när vi behöver skapa någon form av tomter eller diagram eller om vi behöver utföra en analys över den. Genom att förbereda Pivot-tabellen kan vi få den övergripande bilden och idén om vad som faktiskt finns i data. Detta är det bästa sättet att hitta ett sätt att komma in på data. Och varje gång vi gör några ändringar i uppgifterna måste vi också uppdatera pivottabellen. Så att det också kommer att fylla det uppdaterade datatalet. Att uppdatera alla pivottabeller är mycket enkelt, men om vi har tiotal pivottabeller i en enda Excel-fil som vi behöver uppdatera. Så istället för att uppdatera alla pivottabellerna en efter en kan vi direkt uppdatera alla pivottabellerna på en gång med hjälp av VBA Refresh Pivot Table.

Hur använder jag Refresh Pivot Table i Excel VBA?

Nedan är de olika exemplen att använda Refresh Pivot Table i Excel med VBA-kod.

Du kan ladda ner denna VBA Refresh Pivot Table Excel-mall här - VBA Refresh Pivot Table Excel Mall

VBA Refresh Pivot Table - Exempel # 1

För att uppdatera pivottabellen måste vi först skapa en pivottabell. Nedan har vi en data på 1000-talet som vi skapar en pivottabell.

I ovanstående skärmbild kan vi se den sista raden på 1001 och denna information har kundinformation mot mängden som sålts till dem.

Gå nu till Infoga menyfliken och klicka på PivotTable- alternativet.

Vi får en ruta Create PivotTable. Därifrån väljer du först tabellområdet som vi vill inkludera i en pivottabell. Välj sedan vilken plats som helst i det aktuella arket för Pivot-tabellen. Vi kan också välja nytt kalkylblad.

När du är klar klickar du på Ok.

Vi skapar pivottabellen. Dra nu de fält som krävs till olika områden för att få den verkliga pivottabellen. Här drar vi kundnamn till ROWS och kvantitet till COLUMNS som visas nedan.

Detta slutför skapandet av en PivotTable. Men vi måste uppdatera pivottabellen efter att ha ändrat något i Data, detta kan göras genom att helt enkelt uppdatera alternativet från högerklicka på rullgardinsmenyn som visas nedan.

Men samma process kan också automatiseras via VBA. För detta skulle vi behöva en modul. Så,

Steg 1: Gå till Infoga menyfliken och välj Modulalternativ i listrutan som visas nedan.

Steg 2: Skriv den underkategorin i VBA Pivot Refresh i den nyöppnade modulen, eller så kan vi välja valfritt namn enligt vårt val.

Koda:

 Sub Pivot_Refresh2 () End Sub 

Steg 3: Definiera först en variabel som PivotCache som visas nedan. PivotCache använder Pivot-cachen, inte de data som används för att skapa Pivot-tabellen.

Koda:

 Sub Pivot_Refresh2 () Dim Tabell som PivotCache End Sub 

Steg 4: Nu kommer vi att använda For- Loop. Så öppna en för varje slinga som visas nedan.

Koda:

 Sub Pivot_Refresh2 () Dim Tabell som PivotCache för varje nästa tabellslutt Sub 

Steg 5: Nu inom For-End-slingan skriver vi villkoret där vi väljer det för närvarande öppnade kalkylbladet som har en Pivot-tabell med PivotCache .

Koda:

 Sub Pivot_Refresh2 () Dim Tabell som PivotCache för varje tabell i ThisWorkbook.PivotCaches Next Table End Sub 

Steg 6: Nu kommer vi att använda Refresh- kommandot för att tilldela den definierade variabeln Tabell .

Koda:

 Sub Pivot_Refresh2 () Dim Tabell som PivotCache för varje tabell i ThisWorkbook.PivotCaches Table.Refresh Next Table End Sub 

Steg 7: Detta slutför koden, kompilera nu koden till filfelet genom att trycka på funktionsknappen F8. För att testa, om den skriftliga koden fungerar inte, har vi ändrat mängden Kund14 till 69 .

Steg 8: Kör nu koden. Vi ser att det totala antalet mot kund14 uppdateras till 2183, vilket är markerat i gul färg.

VBA Refresh Pivot Table - Exempel # 2

Det finns ett annat sätt att uppdatera pivottabellen genom VBA. Innan vi går vidare kan vi överväga att ändra namnet på en pivottabell eller så kan vi också använda standardnamnet. Låt oss försöka ge Pivot-tabellen ett nytt namn. För detta väljer du pivottabellen och går till menyfliken Analysera som visas nedan.

I det första avsnittet i PivotTable Name kan vi se standardnamnet som PivotTable1 .

Nu kommer vi att ändra detta namn. Överväg att skriva det nya namnet som kunddata som visas nedan.

Steg 1: Öppna sedan en ny modul och skriv underkategorin för VBA Refresh som visas nedan.

Koda:

 Sub Pivot_Refresh3 () End Sub 

Steg 2: Definiera nu en variabel som PivotTable . Här, med PivotTable, kommer vi att överväga den fullständiga källdata.

Koda:

 Sub Pivot_Refresh3 () Dim Tabell som PivotTable End Sub 

Steg 3: Använd nu Set med en definierad variabel och välj det ark som för närvarande öppnas.

Koda:

 Sub Pivot_Refresh3 () Dim Table As PivotTable Set Table = ActiveSheet. Avsluta under 

Steg 4: Välj namnet på Pivot-tabellen som vi vill uppdatera tillsammans med den variabla datatyp som vi har använt som PivotTable .

Koda:

 Sub Pivot_Refresh3 () Dim Table As PivotTable Set Table = ActiveSheet.PivotTables ("Customer Data") End Sub 

Steg 5: Använd slutligen variabeln med RefreshTable- funktionen för att köra den.

Koda:

 Sub Pivot_Refresh3 () Dim Table As PivotTable Set Table = ActiveSheet.PivotTables ("Customer Data") Table.RefreshTable End Sub 

Steg 6: Låt oss göra några fler förändringar i data för att ge verkliga bilder av tillämpad kod.

Vi har ändrat räkningen av kund2 som 56 . Om vi ​​nu kör koden, i pivottabellen med kundnamn, borde det vara förändringar i summan av mängden för kund2 .

Steg 7: Gå nu till VBA-fönstret och kompilera koden. Om inget fel hittades kör du det genom att klicka på uppspelningsknappen under menyfältet som visas nedan. Vi kommer att märka att en summa av den sålda mängden för Customer2 nu går upp till 1724 genom att göra ändringarna i källtabellen.

Genom detta kan vi inkludera mer än en källdata och skapa en annan pivottabell. Och att automatisera de pivottabellerna är också lätt eftersom vi bara behöver inkludera pivottabellens namn och ark där tabellen finns.

Fördelar med VBA Refresh Pivot Table

  • Det tar mycket mindre tid att uppdatera pivottabellen med VBA-kod.
  • Det är väldigt lätt att implementera.

Saker att komma ihåg

  • Vi kan lägga till flera datakällstabeller och automatisera dem med VBA-kod.
  • För att se förändringarna höll du VBA-fönstret och Excel-ark parallellt med varandra.
  • Det är bättre att namnge varje pivottabell om du hanterar och hanterar flera datakällor och pivottabeller.
  • Kod med pivottabellnamn är lätt att förstå, spåra och hitta.

Rekommenderade artiklar

Detta är en guide till VBA Refresh Pivot Table. Här diskuterar vi hur du använder Excel VBA Refresh Pivot Table tillsammans med praktiska exempel och nedladdningsbara Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. VBA FileSystemObject (FSO)
  2. Substring Excel-funktion
  3. VBA Stränglängd
  4. Excel ISNUMBER-formel

Kategori: