VBA Päivitä pivot-taulukko | Päivitä kaikki pivot-taulukko automaattisesti VBA: lla

Excel VBA Päivitä pivot-taulukko

Kun lisätään pivot-taulukko taulukkoon , kun tiedot muuttuvat pivot-taulukon tiedot eivät muutu itsestään, meidän on tehtävä se manuaalisesti, mutta VBA: ssa on lauseke pivot-taulukon päivittämiseksi, joka on lauseke . pivot-taulukko viittaamalla siitä koostuvaan laskentataulukkoon tai voimme viitata taulukkojen koko pivot-taulukoihin ja päivittää ne kaikki kerralla.

Pivot-taulukko on elintärkeä analysoitaessa valtavaa datamäärää. Se auttaa analysoimaan, tiivistämään ja tekemään hyödyllisiä tietoja. Kuitenkin yksi tämän pivot-taulukon ongelmista on, että se ei päivity automaattisesti, jos lähdetiedoissa tapahtuu muutoksia, käyttäjän on päivitettävä pivot-taulukko menemällä tiettyyn pivot-taulukkoon aina, kun muutos tapahtuu. Mutta hyvästele manuaalinen prosessi, koska tässä meillä on tapa päivittää pivot-taulukko heti, kun teet mitään muutoksia pivot-taulukkoon.

Kuinka päivittää pivot-taulukon tietojen VBA-koodi automaattisesti?

Ainoa kerta, kun pivot-taulukko on päivitettävä, on aina, kun viittaamamme pivot-taulukon lähdetiedoissa on muutoksia.

Katso esimerkiksi alla olevat tiedot ja pivot-taulukko.

Muutan nyt lähdetietojen numerot A1: stä B17: ksi.

Solussa B9 minun on muutettava arvo arvosta 499 arvoon 1499 eli datan 1000 lisäys, mutta jos katsot pivotia, tulos on silti 4295 eikä 5295. Minun on päivitettävä pivot-taulukko manuaalisesti pivot-taulukon päivittämiseksi.

Tämän ongelman ratkaisemiseksi meidän on kirjoitettava yksinkertainen Excel-makrokoodi päivittämään pivot-taulukko aina, kun lähdetiedoissa tapahtuu muutoksia.

Voit ladata tämän VBA Refresh Pivot Table Excel -mallin täältä - VBA Refresh Pivot Table Excel -malli

# 1 - Yksinkertainen makro päivittää kaikki taulukot

Vaihe 1: Muuta taulukkotapahtumaa

Meidän on käynnistettävä lomakkeen muutostapahtuma. Kaksoisnapsauta visuaalista editorissa tietolomaketta.

Kun kaksoisnapsautat taulukkoa, valitse ”Työarkki” ja valitse tapahtuma ”Muuta”.

Näet automaattisen alimenettelyn avattuna nimellä Worksheet_Change (ByVal Target As Range)

Vaihe 2: Käytä laskentataulukkoobjektia

Katso taulukkoa käyttämällä Worksheet-objektia.

Vaihe 3: Katso pivot-taulukko nimen mukaan

Katso kääntötaulukon nimi kääntötaulukon nimellä.

Vaihe 4: Käytä Päivitä taulukko -menetelmää

Valitse menetelmäksi Päivitä taulukko.

Nyt tämä koodi päivittää pivot-taulukon "PivotTable1" aina, kun lähdetiedostossa tapahtuu muutoksia. Voit käyttää alla olevaa koodia, sinun tarvitsee vain muuttaa pivot-taulukon nimi.

Koodi:

 Yksityinen alitaulukon_muutos (ByVal-kohde-alue) -taulukko ("tietolomake"). Pivot-taulukot ("pivot-taulukko1"). RefreshTable-loppuosa 

# 2 - Päivitä kaikki saman taulukon kaikki pivot-taulukot

Jos sinulla on useita pivot-taulukoita samassa taulukossa, voit päivittää kaikki pivot-taulukot yhdellä napsautuksella. Päivitä kaikki taulukon pivot-taulukot alla olevan koodin avulla.

Koodi:

 Alapäivityksen_Pivot_Tables_Example1 () laskentataulukot ("Datalehti"). Valitse valitsemalla ActiveSheet .PivotTables ("Taulukko1"). RefreshTable .PivotTables ("Taulukko2"). RefreshTable .PivotTables ("Taulukko3"). RefreshTable .PivotTables ("Taulukko4"). RefreshTable .PivotTables ("Taulukko5"). RefreshTable End With End Sub 

Sinun on vaihdettava laskentataulukon ja pivot-taulukon nimet laskentataulukon tietojen mukaan.

# 3 - Päivitä kaikki työkirjan taulukot

On erittäin epätodennäköistä, että kaikki pivot-taulukot ovat samalla laskentataulukolla. Yleensä jokaiselle raportille yritämme lisätä erillisiä pivot-taulukoita erillisiin taulukoihin. Näissä tapauksissa emme voi jatkaa koodaamista jokaiselle päivitettävälle pivot-taulukolle.

Joten, mitä voimme tehdä, on yhdellä koodilla silmukoiden avulla, jotka voimme käydä läpi kaikki työkirjan pivot-taulukot ja päivittää ne yhdellä napin painalluksella.

Alla oleva koodi silmukkaa jokaisen pivot-taulukon läpi ja päivittää ne.

Koodi 1:

 Sub Refresh_Pivot_Tables_Example2 () Himmennä PT pivot-taulukkona jokaiselle ActiveWorkbookin PT: lle. PivotTables PT.RefreshTable Seuraava PT End Sub 

Koodi 2:

 Sub Refresh_Pivot_Tables_Example3 () Hämärtää PC: tä jokaisen ActiveWorkbookin PC: n PivotCache-välimuistina.PivotCaches PC. Päivitä seuraava PT End Sub 

Molemmat koodit päivittävät pivot-taulukot.

Jos haluat pivot-taulukon päivittyvän heti, kun kääntöarkin taulukkoon on tehty muutoksia, sinun on kopioitava ja liitettävä yllä olevat koodit kyseisen työkirjan laskentataulukon muutostapahtumaan.

# 4 - Vältä latausaikaa käyttämällä taulukkoa Deaktivoi tapahtuma

Kun käytämme ”Laskentataulukon muutos” -tapahtumaa, se päivittyy jatkuvasti, vaikka tietolähteessä ei olisikaan muutoksia, mutta jos taulukossa tapahtuu muutoksia.

Vaikka kirjoitat yhden pisteen laskentataulukkoon, se yrittää päivittää pivot-taulukon. Joten tämän välttämiseksi voimme käyttää ”laskentataulukon aktivointi” -menetelmää ”laskentataulukon muutos” -menetelmän sijaan.

Poista tapahtumapäivitykset käytöstä pivot-taulukossa, kun siirryt taulusta toiseen.


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