Indholdsfortegnelse
Gennemførelse af VBA-makro er den mest effektive, hurtigste og sikreste metode til at udføre enhver operation i Excel. I denne artikel vil vi vise dig, hvordan du kan opdatere pivottabellen i Excel ved hjælp af VBA.
Download arbejdsbog
Du kan downloade den gratis Excel-arbejdsbog til øvelser her.
Opdater pivottabel med VBA.xlsm
5 eksempler på opdatering af pivottabellen med VBA i Excel
Nedenfor er et eksempel på vores pivottabel, som vi vil bruge i hele artiklen og vise dig 5 forskellige eksempler på opdatering af pivottabeller i Excel med VBA kode.
1. VBA til opdatering af en pivottabel i Excel
Hvis du ønsker at opdatere kun én pivottabel i dit Excel-regneark,
- Tryk på Alt + F11 på dit tastatur eller gå til fanen Udvikler -> Visual Basic for at åbne Visual Basic-editor .
- I pop-up kodevinduet skal du på menulinjen klikke på Indsæt -> Modul .
- Kopier følgende kode, og indsæt den i kodevinduet.
Sub RefreshOnePivotTable() ActiveSheet.PivotTables("PivotTable1").RefreshTable End Sub
Din kode er nu klar til at køre.
Her, PivotTabel1 er navnet på vores pivottabel. Du skriver det navn, som din pivottabel har.
- Tryk på F5 på dit tastatur eller på menulinjen vælge Kør -> Kør Sub/UserForm Du kan også bare klikke på lille Play-ikon i undermenulinjen for at køre makroen.
Dette vil opdatere pivottabellen i dit eksisterende Excel-regneark.
Læs mere: Pivot tabel opdaterer ikke (5 problemer & Løsninger)
2. Makro til opdatering af alle pivottabeller i det aktive regneark
Sådan opdaterer du alle pivottabeller i det aktive regneark , skal du følge nedenstående trin.
- På samme måde som før, åbne Visual Basic-editor fra den Udvikler og Indsæt a Modul i kodevinduet.
- Kopier følgende kode i kodevinduet, og indsæt den.
Sub RefreshActiveSheetPivotTables() Dim PivotTbl As PivotTable For Each PivotTbl In ActiveSheet.PivotTables PivotTbl.RefreshTable Next PivotTbl End Sub
Din kode er nu klar til at køre.
- Kør makroen, og alle pivottabellerne i dit aktive regneark opdateres.
Læs mere: Sådan opdateres alle pivottabeller i Excel
3. VBA-kode til at opdatere alle pivottabeller i flere arbejdsmapper
Hvis du ønsker at opdatere alle pivottabeller i flere arbejdsbøger med det samme med VBA kode så er trinene:
- Åbn Visual Basic-editor fra den Udvikler og Indsæt a Modul i kodevinduet.
- Kopier følgende kode i kodevinduet, og indsæt den.
Sub RefreshAllPivotTables() Dim PivotTbl As PivotTable For Each PivotTbl In ActiveWorkbook.PivotTables PivotTbl.RefreshTable Next PivotTbl End Sub
Din kode er nu klar til at køre.
- Kør koden, og alle pivottabellerne i alle dine åbne Excel-arbejdsmapper opdateres.
Husk for at bevare alle arbejdsbøgerne åben mens du kører denne kode.
Lignende læsninger
- Sådan redigerer du en pivottabel i Excel (5 metoder)
- Opdatering af pivottabelområde (5 egnede metoder)
- Sådan opdateres en pivottabel automatisk, når kildedata ændres
4. Opdatering af cachen til pivottabellen med VBA i Excel
Hvis du har flere pivottabeller i din projektmappe, som bruger de samme data, kan du kun opdatere cachen for pivottabellen i stedet for at opdatere den faktiske pivottabel hele tiden. Opdatering af cachen rydder automatisk cachehukommelsen for alle de pivottabeller, der bruger den samme dataforbindelse i cachen.
Det kan du gøre på følgende måde,
- Åbn Visual Basic-editor fra den Udvikler og Indsæt a Modul i kodevinduet.
- Kopier følgende kode i kodevinduet, og indsæt den.
Sub RefreshPivotTableCache() Dim PivotCache As PivotCache For Each PivotCache In ActiveWorkbook.PivotCaches PivotCache.Refresh Next PivotCache End Sub
Din kode er nu klar til at køre.
- Kør koden, og alle cachelagre i pivottabellen bliver slettet.
Læs mere: Sådan opdaterer du automatisk pivottabellen uden VBA i Excel (3 smarte metoder)
5. Automatisk opdatering af pivottabel, mens du ændrer data med VBA-makro
Hvad nu hvis du har en pivottabel med en stor mængde data, og du blot ønsker at opdatere nogle få data, mens hele tabellen forbliver uberørt. I Excel kan du automatisk opdatering af pivottabellen mens du opdaterer data med VBA .
- Åbn Visual Basic-editor fra den Udvikler.
- I venstre side af editoren vil der være en Projekt Explorer rude, der indeholder alle navne på regnearket.
- På Projekt Explorer , dobbeltklik på det ark, der indeholder pivottabellen.
- Kodevinduet vises, hvor vi skal oprette en begivenhedsmakro. Vælg Arbejdsark fra den Objekt rullelisten til venstre for kodemodulet. Dette vil tilføje en Arbejdsark_SelectionChange begivenhed til modulet, men vi har faktisk ikke brug for den, så vi sletter dette stykke kode senere.
- Klik derefter på Procedure drop-down-listen og vælg Ændre Dette tilføjer en ny hændelse øverst i kodemodulet kaldet Arbejdsark_ændring Vi vil skrive vores kode her på følgende måde slet den kode, der genereres af Arbejdsark_SelectionChange
- Kopier nu følgende kode, og indsæt den i Arbejdsark_ændring
Private Sub Worksheet_Change(ByVal Target As Range) Worksheets("PivotTbl").PivotTables("PivotTable1").PivotCache.Refresh End Sub
Din kode er nu klar til at køre.
Her, PivotTbl er navnet på regnearket i vores Excel-arbejdsbog og PivotTabel1 er navnet på vores pivottabel. Du skriver det navn, som dit regneark og din pivottabel har.
- Hver gang du ændrer dataene i den oprindelige datatabel i regnearket, bliver dataene i pivottabellen automatisk opdateret, hver gang du ændrer dataene i pivottabellen.
Læs mere: Sådan opdateres automatisk pivottabel i Excel
Konklusion
Denne artikel viste dig, hvordan du kan opdatere pivottabellen i Excel med VBA Jeg håber, at denne artikel har været til stor gavn for dig. Du er velkommen til at spørge, hvis du har spørgsmål til emnet.