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

Lang L: none (table-of-contents)

Exceli VBA Pivoti tabeli värskendamine

Kui sisestame pöördtabeli lehele, kui andmed muutuvad, ei muutu pöördtabeli andmed ennast, 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. Selle pöördtabeli üks probleeme on aga see, et seda ei värskendata automaatselt, kui lähteandmetes on mingeid muudatusi. Kasutaja peab pöördetabelit värskendama, minnes konkreetse pöördetabeli juurde iga kord, 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 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-le, st andmete suurenemine 1000-ni, kuid kui pöördepunkti vaadata, näitab tulemus siiski 5295 asemel 4295. Pöördtabeli värskendamiseks tuleb käsitsi värskendada pöördlaud.

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

# 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 lehel topeltklõpsanud, 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ähteandmelehel on 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 värskendada ühe klõpsuga. 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 saame teha, on ühe koodiga, kasutades silmusid, saame 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 mingeid muudatusi, peate kopeerima ja kleepima ülaltoodud koodid selle töövihiku sündmusele Töölehe muutmine.

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

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

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

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

Huvitavad Artiklid...