Kuinka päivittää pivot -taulukot automaattisesti VBA Excelin avulla

Sisällysluettelo:

Anonim

Kuten me kaikki tiedämme, aina kun teemme muutoksia pivot -taulukon lähdetietoihin, se ei heijastu välittömästi pivot -taulukkoon. Meidän on päivitettävä pivot -taulukot nähdäksemme muutokset. Ja jos lähetät päivitetyn tiedoston päivittämättä pivot -taulukoita, saatat tuntea hämmennystä.

Joten tässä artikkelissa opimme päivittämään pivot -taulukon automaattisesti VBA: n avulla. Tämä tapa on helpompi kuin kuvittelit.

Tämä on yksinkertainen syntaksi päivittää työkirjan pivot -taulukot automaattisesti.

'Koodi lähdetiedotearkin objektin yksityisessä alityöarkissa_Deactivate () sheetname_of_pivot_table.PivotTables ("pivot_table_name"). PivotCache.Refresh End Sub 

Mitä Pivot -välimuistit ovat?

Jokainen pivot -taulukko tallentaa tiedot pivot -välimuistiin. Siksi pivot pystyy näyttämään aiemmat tiedot. Kun päivitämme pivot -taulukoita, se päivittää välimuistin uusilla lähdetiedoilla vastaamaan pivot -taulukon muutoksia.

Tarvitsemme siis vain makron pivot -taulukoiden välimuistin päivittämiseksi. Teemme tämän käyttämällä laskentataulukkotapahtumaa, jotta meidän ei tarvitse suorittaa makroa manuaalisesti.

Mistä koodata pivot -taulukoiden automaattista päivittämistä?

Jos lähdetietosi ja pivot -taulukot ovat eri arkeissa, VBA -koodin pitäisi mennä lähdetiedostoon.

Tässä käytämme Worksheet_SelectionChange -tapahtumaa. Tämä saa koodin toimimaan aina, kun vaihdamme lähdetietolomakkeesta toiseen. Selitän myöhemmin, miksi käytin tätä tapahtumaa.

Tässä minulla on lähdetiedot taulukossa 2 ja pivot -taulukot taulukossa 1.

Avaa VBE painamalla CTRL+F11. Project Explorerissa näet kolme objektia, Sheet1, Sheet2 ja Workbook.

Koska Sheet2 sisältää lähdetiedot, kaksoisnapsauta sheet2 -objektia.

Nyt näet kaksi pudotusvalikkoa koodialueen yläosassa. Valitse laskentataulukko ensimmäisestä avattavasta valikosta. Valitse toisesta avattavasta valikosta Poista käytöstä. Tämä lisää tyhjän alinimen Worksheet_Deactivate. Koodimme kirjoitetaan tähän osaan. Kaikki tähän alaosaan kirjoitetut rivit suoritetaan heti, kun käyttäjä siirtyy tältä taulukolta mille tahansa muulle taulukolle.

Arkilla 1 minulla on kaksi pivot -taulukkoa. Haluan päivittää vain yhden pivot -taulukon. Tätä varten minun on tiedettävä pivot -taulukon nimi. Jos haluat tietää minkä tahansa pivot -taulukon nimen, valitse mikä tahansa pivot -taulukon solu siirtymällä pivot -taulukon analysointi -välilehdelle. Vasemmalla puolella näet pivot -taulukon nimen. Voit myös muuttaa pivot -taulukon nimen täällä.

Nyt tiedämme pivot -taulukon nimen, voimme kirjoittaa yksinkertaisen rivin pivot -taulukon päivittämiseksi.

Yksityinen alityöarkki_Deactivate () Sheet1.PivotTables ("PivotTable1"). PivotCache.Refresh End Sub 

Ja se on tehty.

Nyt kun vaihdat lähdetiedosta, tämä vba -koodi päivittää pivot -taulukon1. Kuten alla olevasta gifistä näet.

Kuinka päivittää kaikki työkirjan pivot -taulukot?

Yllä olevassa esimerkissä halusimme päivittää vain yhden tietyn pivot -taulukon. Mutta jos haluat päivittää kaikki työkirjan pivot -taulukot, sinun on vain tehtävä pieniä muutoksia koodiin.

Yksityinen alityöarkki_Deactivate () 'Sheet1.PivotTables ("PivotTable1"). PivotCache.Refresh For each PC In thisWorkbook.PivotCaches pc.Rreshresh Next pc End Sub 

Tässä koodissa käytämme For -silmukkaa jokaisen työkirjan pivot -välimuistin läpi. ThisWorkbook -objekti sisältää kaikki pivot -välimuistit. Päästäksemme niihin käytämme ThisWorkbook.PivotCaches.

Miksi käyttää Worksheet_Deactivate -tapahtumaa?

Jos haluat päivittää pivot -taulukon heti, kun lähdetietoihin on tehty muutoksia, käytä Worksheet_Change -tapahtumaa. Mutta en suosittele sitä. Se saa työkirjasi suorittamaan koodin aina, kun teet muutoksia taulukkoon. Saatat joutua tekemään satoja muutoksia ennen kuin haluat nähdä tuloksen. Mutta Excel päivittää pivot -taulukon jokaisen muutoksen yhteydessä. Tämä johtaa käsittelyajan ja resurssien hukkaan. Joten jos sinulla on pivot -taulukoita ja tietoja eri arkeissa, on parempi käyttää laskentataulukon deaktivointitapahtumaa. Sen avulla voit viimeistellä työsi. Kun vaihdat pivot -taulukkolaskentaohjelmaan nähdäksesi muutokset, se muuttaa muutoksia.

Jos pivot -taulukot ja lähdetiedot ovat samassa taulukossa ja haluat, että pivot -taulukot päivittävät sen automaattisesti, voit käyttää Worksheet_Change -tapahtumaa.

Yksityinen alityöarkin_muutos (ByVal -kohde alueena) Sheet1.PivotTables ("PivotTable1"). PivotCache.Refresh End Sub 

Kuinka päivittää kaikki työkirjat, kun lähdetietoja muutetaan?

Jos haluat päivittää työkirjan kaiken (kaaviot, pivot -taulukot, kaavat jne.), Voit käyttää ThisWorkbook.RefreshAll -komentoa.

Yksityinen alityökirjan_muutos (ByVal -kohdealueena) ThisWorkbook.RefreshAll End Sub 

Huomaa, että tämä koodi ei muuta tietolähdettä. Joten jos lisäät tietoja lähdetietojen alle, tämä koodi ei sisällä kyseisiä tietoja automaattisesti. Voit käyttää Excel -taulukoita lähdetietojen tallentamiseen. Jos et halua käyttää taulukoita, voimme käyttää VBA: ta myös uusien tietojen sisällyttämiseen. Opimme sen seuraavassa opetusohjelmassa.

Joten kyllä, kaveri, näin voit päivittää pivot -taulukot automaattisesti Excelissä. Toivottavasti olin tarpeeksi selittävä ja tämä artikkeli palveli sinua hyvin. Jos sinulla on kysyttävää tästä aiheesta, voit kysyä minua alla olevasta kommenttiosasta.

Pivot -taulukon tietolähdealueen päivittäminen dynaamisesti Excelissä: Pivot -taulukoiden lähdetietoalueen muuttamiseksi dynaamisesti käytämme pivot -välimuisteja. Nämä muutamat rivit voivat päivittää dynaamisesti minkä tahansa pivot -taulukon muuttamalla lähdetietoaluetta. Käytä VBA: ssa pivot -taulukohteita alla olevan kuvan mukaisesti…

Suorita makro, jos taulukkoon tehdään muutoksia määritetyllä alueella: VBA -käytännöissäsi sinun on suoritettava makroja tietyn alueen tai solun muuttuessa. Siinä tapauksessa käytämme muutostapahtumaa suorittaaksemme makroja, kun kohdealueelle tehdään muutos.

Suorita makro, kun taulukkoon tehdään muutoksia | Joten makron suorittamiseen aina, kun taulukko päivittyy, käytämme VBA: n laskentataulukkotapahtumia.

Yksinkertaisin VBA -koodi nykyisen rivin ja sarakkeen korostamiseen | Käytä tätä pientä VBA -katkelmaa korostamaan taulukon nykyinen rivi ja sarake.

Laskentataulukon tapahtumat Excel VBA: ssa | Laskentataulukkotapahtuma on todella hyödyllinen, kun haluat makrojesi suoritettavan, kun taulukossa tapahtuu tietty tapahtuma.

Suosittuja artikkeleita:

50 Excel -pikanäppäintä tuottavuuden lisäämiseksi | Nopeuta tehtävääsi. Nämä 50 pikanäppäintä tekevät työskentelystäsi entistä nopeampaa Excelissä.

VLOOKUP -toiminto Excelissä | Tämä on yksi eniten käytetyistä ja suosituimmista Excel -toiminnoista, jota käytetään arvon etsimiseen eri alueilta ja arkeilta.

COUNTIF Excel 2016: ssa | Laske arvot olosuhteilla käyttämällä tätä hämmästyttävää toimintoa. Sinun ei tarvitse suodattaa tietojasi tietyn arvon laskemiseksi. Laskutoiminto on välttämätön kojelaudan valmistelemiseksi.

SUMIF -toiminnon käyttäminen Excelissä | Tämä on toinen kojelaudan olennainen toiminto. Tämä auttaa sinua laskemaan yhteen arvot tietyissä olosuhteissa.