Denne opplæringen vil demonstrere hvordan du oppdaterer et pivottabell eller alle pivottabeller ved hjelp av VBA.
Pivottabeller er et eksepsjonelt kraftig dataverktøy i Excel. Pivottabeller lar oss analysere og tolke store datamengder ved å gruppere og oppsummere felt og rader.
Når vi oppretter en pivottabell, lagres dataene i det som kalles en pivottabellbuffer. Dataene blir derfor lagret i hurtigbufferminnet på PC -en som øker hastigheten på pivottabellen.
Hvis datakilden til pivottabellen oppdateres, oppdateres ikke selve pivottabellen. Brukeren i Excel må klikke på Oppdater alle -knappen i Data -fanen på båndet for å oppdatere kildedataene i pivottabellen.
Alternativt kan vi skrive makroer i VBA som oppdaterer dataene for oss!
Oppdater alle datatilkoblinger
Den enkleste metoden for å oppdatere dataene er å bruke VBA for å etterligne hva Oppdater alle knappen på båndet.
123 | Sub RefreshConnections ()ActiveWorkbook.RefreshAllSlutt Sub |
Denne metoden vil oppdatere alle tilkoblinger til alle dataene i arbeidsboken du har aktiv. Det vil heller ikke bare oppdatere et enkelt pivottabell, men det vil oppdatere flere pivottabeller hvis du har mer enn ett koblet til forskjellige datasett.
Oppdater alle pivottabeller
For å oppdatere bare pivottabellene i arbeidsboken vår, men utelukke andre datatilkoblinger, kan vi bruke en metode som kalles Oppdater tabell.
Hvis vi har flere pivottabeller i arbeidsboken vår, må vi gå gjennom alle pivottabellene for å oppdatere dem alle. For å gjøre dette, erklærer vi først en pivottabellvariabel og lager deretter en for hver sløyfe for å gå gjennom alle pivottabellene i den aktive arbeidsboken.
123456 | Sub RefreshPivotsOnly ()Dim tblPivot As PivotTableFor hver tblPivot i ActiveWorkbook.PivotTablestblPivot.RefreshTableNeste tblPivotSlutt Sub |
Vi kan bruke en lignende makro til å oppdatere pivottabellene i vår Aktivt ark i stedet for hele arbeidsboken. Vi ville deretter gå gjennom pivottabellene i Aktivt ark heller enn ActiveWorkbook.
123456 | Sub RefreshActiveSheetPivotsOnly ()Dim tblPivot As PivotTableFor hver tblPivot i ActiveSheet.PivotTablestblPivot.RefreshTableNeste tblPivotSlutt Sub |
Denne makroen ville være mest nyttig hvis vi hadde lett tilgang til den på vår Aktivt ark. For å gjøre dette kan vi lage en knapp på arket for å kjøre makroen.
Oppdater ett pivottabell
Hvis vi bare vil oppdatere pivottabellen vi jobber med, og ikke alle de andre pivottabellene i arbeidsboken, må vi identifisere den spesifikke pivottabellen. Dette er selvfølgelig så lenge du kjenner navnet på pivottabellen - i dette tilfellet Pivottabell 1.
123 | Sub RefreshOneTableActiveSheet.PivotTables ("PivotTable1"). RefreshTableSlutt Sub |
Oppdaterer pivottabellbufferen
Hvis vi har flere pivottabeller i arbeidsboken vår, men alle bruker de samme dataene, kan vi oppdatere pivottabellbufferen i stedet for å oppdatere den faktiske pivottabellen. Oppdatering av hurtigbufferen vil deretter automatisk oppdatere alle pivottabellene som bruker dataene i hurtigbufferen.
123456 | Sub RefreshCache ()Dim chPivot som PivotCacheFor hver chPivot i ActiveWorkbook.PivotCacheschPivot.RefreshNeste chPivotSlutt Sub |