VBA Pivoti tabeli värskendamine | Automaatselt värskendage kõiki liigendtabeleid VBA abil

Exceli VBA Pivoti tabeli värskendamine

Kui sisestame pöördtabeli lehele, kui andmed muutuvad, ei muutu pöördtabeli andmed iseennast, peame seda tegema käsitsi, kuid VBA-s on avaldus pöördtabeli värskendamiseks, mis on avaldis. Värskendatav, selle abil saame värskendada pöördtabel, viidates sellest koosnevale töölehele, või võime viidata töölehtedel olevatele kogu pöördetabelitele ja neid kõiki korraga värskendada.

Pöördtabel on tohutu andmehulga analüüsimisel ülioluline. See aitab kohe analüüsida, kokku võtta ja kasulikke andmeid tõlgendada. Kuid selle pöördtabeli üks probleeme on see, et seda ei värskendata automaatselt, kui lähteandmetes on mingeid muudatusi. Kasutaja peab pöördetabelit värskendama, minnes iga kord konkreetsesse pöördetabelisse, kui muudatused toimuvad. Kuid jäta käsitsi protsess hüvasti, sest siin on meil meetod värskendada pöördtabelit kohe, kui pöördetabelis muudatusi teed.

Kuidas Pivot-tabeli andmete VBA-koodi automaatselt värskendada?

Pivot-tabelit tuleb värskendada ainult siis, kui viidatud pöördetabeli lähteandmetes on mingeid muudatusi.

Näiteks vaadake allolevaid andmeid ja pöördtabelit.

Nüüd muudan lähteandmete numbreid, st A1-st B17-ni.

Lahtris B9 pean muutma väärtust 499-lt 1499-ni, st andmete suurenemine 1000-ni, kuid kui pöördepunkti vaadata, näitab tulemus siiski 5295 asemel 4295. Pöördtabeli värskendamiseks pean oma liigendtabelit käsitsi värskendama.

Selle probleemi lahendamiseks peame kirjutama lihtsa Exceli makrokoodi, et värskendada pöördetabelit alati, kui lähteandmetes on mingeid muudatusi.

Selle VBA värskendava Pivot Table Exceli malli saate alla laadida siit - VBA Refresh Pivot Table Exceli mall

# 1 - kõigi makrode värskendamiseks lihtne makro

1. samm: muutke andmelehe sündmust

Peame käivitama andmelehe muutmise sündmuse. Topeltklõpsake visuaalses põhiredaktoris andmelehel.

Kui olete topeltklõpsanud lehel, valige „Tööleht“ ja valige sündmus „Muuda“.

Näete, et automaatne alamprotseduur on avatud kui Worksheet_Change (ByVal Target As Range)

2. samm: kasutage töölehe objekti

Andmelehele saate vaadata objekti Töölehed abil.

3. samm: vaadake liigendtabelit nime järgi

Vaadake pöördtabeli nime pöördtabeli nime järgi.

4. samm: kasutage tabeli värskendamise meetodit

Valige meetodiks „Tabeli värskendamine”.

Nüüd värskendab see kood pöördtabelit „PivotTable1“ alati, kui lähteandmete lehel on mingeid muudatusi. Võite kasutada allolevat koodi, peate lihtsalt muutma pöördtabeli nime.

Kood:

 Privaatne alam töölehe_vahetus (ByVali sihtmärk vahemikuna) tööleht ("Andmeleht"). PivotTables ("PivotTable1"). RefreshTable End Sub 

# 2 - värskendage sama töölehe kõiki pöördtabeleid

Kui teil on samas töölehel palju pöördtabeleid, saate kõiki liigendtabeleid ühe klõpsuga värskendada. Kasutage allolevat koodi lehe kõigi pöördetabelite värskendamiseks.

Kood:

 Sub Refresh_Pivot_Tables_Example1 () töölehed ("Andmeleht"). Valige suvandiga ActiveSheet .PivotTables ("Table1"). RefreshTable .PivotTables ("Table2"). RefreshTable .PivotTables ("Table3"). RefreshTable .PivotTables ("Table4"). RefreshTable .PivotTables ("Table5"). RefreshTable End With End Sub 

Töölehe üksikasjade kohaselt peate muutma töölehe ja pöördtabeli nime.

# 3 - värskendage kõiki töövihiku tabeleid

On ebatõenäoline, et meil on kõik pöördtabelid samal töölehel. Tavaliselt püüame iga aruande jaoks lisada eraldi pöördtabelid eraldi lehtedena. Sellistel juhtudel ei saa me jätkata iga värskendatava pöördtabeli koodi kirjutamist.

Niisiis, mida me saame teha, on ühe koodiga, kasutades silmusid, et saaksime kõik töövihiku pöördetabelid läbi vaadata ja neid ühe nupuvajutusega värskendada.

Allpool olev kood viib läbi iga pöördtabeli ja värskendab neid.

Kood 1:

 Sub Refresh_Pivot_Tables_Example2 () Hämardage PT ActiveWorkbooki iga PT jaoks PivotTable-liigendtabelina. PivotTables PT. RefreshTable Next PT End Sub 

Kood 2:

 Sub Refresh_Pivot_Tables_Example3 () Hämarda arvutit ActiveWorkbooki iga arvuti PivotCache-failina. PivotCaches PC. Värskenda järgmist PT End Sub 

Mõlemad koodid värskendavad pöördtabeleid.

Kui soovite, et pöördtabelit värskendataks kohe, kui pöördlehe andmelehel on muudatusi, peate kopeerima ja kleepima ülaltoodud koodid selle töövihiku töölehe muutmise sündmusele.

# 4 - vältige laadimisaega, kasutades töölehte Deaktiveeri sündmus

Sündmuse „Töölehe muutmine” kasutamisel värskendab see ka siis, kui andmeallikas pole muudatusi, kuid kui töölehel toimub muudatusi.

Isegi kui sisestate töölehele ühe punkti, proovib see pöördtabelit värskendada. Selle vältimiseks võime meetodi „Töölehe muutmine“ asemel kasutada meetodit „Töölehe desaktiveerimine“.

Ühelt lehelt teisele lehele liikudes desaktiveerige pöördtabeli sündmuste värskendused.


$config[zx-auto] not found$config[zx-overlay] not found