Hur du uppdaterar alla pivottabeller med VBA (4 sätt)

  • Dela Detta
Hugh West

I den här artikeln visar jag dig hur du kan uppdatera alla pivottabeller i ditt arbetsblad eller din arbetsbok med VBA i Excel. Du lär dig också att uppdatera en enskild pivottabell , samt Pivottabell cache.

Uppdatera alla pivottabeller med VBA i Excel (snabbvisning)

 Dim Table As PivotTable For Each Table In ActiveWorkbook.PivotTables Table.RefreshTable Next Table 

Detta kommer att uppdatera alla Pivottabeller i den aktiva arbetsboken.

Ladda ner övningsboken

Ladda ner den här arbetsboken för att träna medan du läser den här artikeln.

Uppdatera alla pivottabeller.xlsm

4 sätt att uppdatera alla pivottabeller med VBA i Excel

A Pivottabell är en speciell typ av tabell i ett Excel-arbetsblad som innehåller två kategorier av data, med titeln Rad och Värde respektive.

Alla kolumner i tabellen är indelade i dessa två kategorier.

Den genereras automatiskt från en datamängd om du väljer datamängden och går till Infoga> PivotTable i Excel-verktygsfältet.

I dag är vårt mål att lära oss hur vi kan uppdatera alla de Pivottabeller av ett arbetsblad eller en arbetsbok med VBA i Excel.

1. Uppdatera en enskild pivottabell i Excel

Först ska vi lära oss att uppdatera en enda Pivottabell .

För att uppdatera en enskild Pivottabell först måste du referera till den som en PivotTable objekt.

Då måste du använda RefreshTable metod för att VBA .

Här har vi en Pivottabell kallas . PivotTable1 i det aktiva arbetsbladet. (Klicka här för att få reda på hur man får namnet på en pivottabell ).

För att uppdatera den måste vi använda följande kodrader:

 Dim Table1 As PivotTable Set Table1 = ActiveSheet.PivotTables("PivotTable1") Table1.RefreshTable 

Kör koden, och den uppdaterar Pivottabell kallas . PivotTable1 i det aktiva arbetsbladet.

Läs mer: Hur du automatiskt uppdaterar pivottabellen i Excel (2 metoder)

2. Uppdatera alla pivottabeller i ett kalkylblad i Excel

Nu uppdaterar vi alla Pivottabeller av ett arbetsblad med VBA .

För att uppdatera alla Pivottabeller av det aktiva arbetsbladet, måste du gå igenom varje Pivottabell av den ActiveSheet.PivotTables objektet. Använd sedan RefreshTable metod.

 Dim Table As PivotTable For Each Table In ActiveSheet.PivotTables Table.RefreshTable Next Table 

Kör koden och den kommer att uppdatera alla pivottabeller på det aktiva arbetsbladet.

Läs mer: Pivot tabell uppdateras inte (5 frågor & Lösningar)

3. Uppdatera alla pivottabeller i en arbetsbok i Excel

Du kan också uppdatera alla Pivottabeller i en arbetsbok i Excel.

För att uppdatera alla Pivottabeller i den aktiva arbetsboken, gå igenom varje tabell med hjälp av ActiveWorkbook.PivotTables objektet i VBA Använd sedan RefreshTable metod.

 Dim Table As PivotTable For Each Table In ActiveWorkbook.PivotTables Table.RefreshTable Next Table 

Den här koden uppdaterar alla Pivottabeller i den aktiva arbetsboken.

Läs mer: Hur du automatiskt uppdaterar en pivottabell när källdata ändras

4. Uppdatera cachen för pivottabellen med VBA i Excel

Om du har flera Pivottabeller i din arbetsbok som använder samma data, är det bättre att uppdatera Cache för pivottabellen i stället för att uppdatera Pivottabell .

För att uppdatera Cache för pivottabellen , gå igenom varje Cache för pivottabellen av den aktiva arbetsboken med hjälp av ActiveWorkbook.PivotCaches objekt.

Använd sedan R efresh metod för att VBA .

 Dim Cache As PivotCache For Each Cache In ActiveWorkbook.PivotCaches Cache.Refresh Next Cache 

Den uppdaterar alla Cache för pivottabellen från den aktiva arbetsboken.

Läs mer: Hur man automatiskt uppdaterar pivottabellen utan VBA i Excel (3 smarta metoder)

Saker att komma ihåg

Här har vi visat att vi ska uppdatera Pivottabeller endast från det aktiva arbetsbladet eller den aktiva arbetsboken. Om du vill uppdatera data från en arbetsbok eller ett arbetsblad som inte är aktivt, använd namnet på arbetsbladet eller arbetsboken i stället för ActiveSheet eller ActiveWorkbook objekt.

Om du t.ex. vill uppdatera alla Pivottabeller från Blad 1 , använda For Each Table In Worksheets("Sheet1").PivotTables .

Och för att fräscha upp från Arbetsbok1 , använda For Each Table In Workbooks("Workbook1").PivotTables .

Slutsats

Med hjälp av dessa metoder kan du uppdatera alla de Pivottabeller från ett arbetsblad eller en arbetsbok med VBA i Excel. Om du har några frågor är du välkommen att ställa dem till oss.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.