Kaip automatiškai atnaujinti „Pivot“ lentelės duomenis „Excel“

Turinys:

Anonim

Šiame straipsnyje sužinosime, kaip automatiškai atnaujinti „Pivot“ lentelės duomenis „Excel“.
Scenarijus:

Kaip visi žinome, kai keičiame suvestinės lentelės šaltinio duomenis, ji iš karto neatsispindi suvestinėje lentelėje. Turime atnaujinti suvestines lenteles, kad pamatytume pakeitimus, kai atidarome „Excel“ darbaknygę. Ir jei atsiųsite atnaujintą failą neatnaujinę suvestinių lentelių, galite jausti gėdą. Taigi čia sužinosite, kaip rasti atnaujinimo parinktį naudojant suvestinę lentelę

Atnaujinkite duomenis, kai atidarote failą „Excel“

Pirmiausia sukurkite „Pivot“ lentelę, tada dešiniuoju pelės mygtuku spustelėkite bet kurią suvestinės lentelės langelį.

Eikite į „Pivot“ lentelės parinktis> Skirtukas „Duomenys“> Pažymėkite langelį, kuriame sakoma Atnaujinkite duomenis atidarę failą

Tai įgalins automatinį duomenų atnaujinimą kiekvieną kartą, kai failas bus atidarytas.

Pavyzdys :

Visa tai gali būti painu suprasti. Supraskime, kaip naudoti funkciją, naudodami pavyzdį. Čia turime tam tikrų duomenų ir pirmiausia turime sukurti suvestinę lentelę, o tada rasti parinktis, leidžiančias įjungti automatines atnaujinimo suvestines lenteles.

Sukurkite suvestinę lentelę ir dešiniuoju pelės mygtuku spustelėkite bet kurią suvestinės lentelės langelį, kaip parodyta žemiau.

Pasirinkite „Pivot table Options“ ir atsidarys dialogo langas „PIvot table Options“.


Pasirinkite duomenų skirtuką ir pažymėkite langelį, kuriame sakoma Atnaujinti duomenis, kai atidarote failą. Tai galite padaryti neatidarę ir neuždarę failo naudodami VBA.

Naudojant VBA

Taigi čia mes išmoksime automatiškai atnaujinti suvestinę lentelę naudojant VBA. Šis būdas yra lengvesnis, nei įsivaizdavote.
Tai paprasta sintaksė automatiškai atnaujinti suvestines lenteles darbaknygėje.

„Šaltinio duomenų lapo objekto kodas

Privatus antrinis darbalapis_Deaktyvinti ()

lapo_pavartos_tabulo_pavadinimas.PivotTable ("pivot_table_name")." PivotCache.Rresh "

Pabaiga Sub

Kas yra „Pivot“ talpyklos?

Kiekviena suvestinė lentelė saugo duomenis suvestinėje talpykloje. Štai kodėl „pivot“ gali rodyti ankstesnius duomenis. Kai atnaujiname suvestines lenteles, ji atnaujina talpyklą naujais šaltinio duomenimis, kad atspindėtų suvestinės lentelės pakeitimus.
Taigi mums tereikia makrokomandos, kad atnaujintume suvestinių lentelių talpyklą. Tai padarysime naudodami darbalapio įvykį, kad nereikėtų paleisti makro rankiniu būdu.

Kur koduoti, norint automatiškai atnaujinti „Pivot“ lenteles?

Jei jūsų šaltinio duomenys ir suvestinės lentelės yra skirtinguose lapuose, tada VBA kodas turėtų būti pateiktas šaltinio duomenų lape.
Čia mes naudosime „Worksheet_SelectionChange Event“. Dėl to kodas bus paleistas, kai pereisime iš šaltinio duomenų lapo į kitą lapą. Vėliau paaiškinsiu, kodėl pasinaudojau šiuo renginiu.

Čia aš turiu šaltinio duomenis 2 lape ir suvestines lenteles 1 lape.

Atidarykite VBE naudodami CTRL+F11 klavišus. „Project Explorer“ galite pamatyti tris objektus: „Sheet1“, „Sheet2“ ir „Workbook“.

Kadangi „Sheet2“ yra šaltinio duomenys, dukart spustelėkite „sheet2“ objektą.

Dabar kodo srities viršuje galite pamatyti du išskleidžiamuosius meniu. Iš pirmojo išskleidžiamojo meniu pasirinkite darbalapį. Ir iš antrojo išskleidžiamojo meniu pasirinkite Išjungti. Tai įterps tuščią antrinį pavadinimą „Worksheet_Deactivate“. Mūsų kodas bus parašytas šiame poskyryje. Visos eilutės, parašytos šiame poskyryje, bus įvykdytos, kai tik vartotojas persijungs iš šio lapo į bet kurį kitą lapą.

1 lape turiu dvi suvestines lenteles. Noriu atnaujinti tik vieną suvestinę lentelę. Tam turiu žinoti suvestinės lentelės pavadinimą. Norėdami sužinoti bet kurios suvestinės lentelės pavadinimą, pasirinkite bet kurią langelį toje suvestinėje lentelėje, eikite į suvestinės lentelės analizės skirtuką. Kairėje pusėje pamatysite suvestinės lentelės pavadinimą. Čia taip pat galite pakeisti suvestinės lentelės pavadinimą.


Dabar žinome suvestinės lentelės pavadinimą, galime parašyti paprastą eilutę, kad atnaujintume suvestinę lentelę.

Privatus antrinis darbalapis_Deaktyvinti ()

Sheet1.PivotTables ("PivotTable1"). PivotCache.Refresh

Pabaiga Sub

Ir tai daroma.

Dabar, kai pereisite nuo šaltinio duomenų, šis vba kodas bus paleistas, kad būtų atnaujinta suvestinė lentelė1. Kaip matote žemiau esančiame gif.

Kaip atnaujinti visas darbaknygės „Pivot“ lenteles?

Pirmiau pateiktame pavyzdyje norėjome atnaujinti tik vieną konkrečią suvestinę lentelę. Bet jei norite atnaujinti visas darbaknygės suvestines lenteles, jums tereikia šiek tiek pakeisti kodą.

Privatus antrinis darbalapis_Deaktyvinti ()

„Sheet1.PivotTables („ PivotTable1 “).„ PivotCache.Refresh “

Kiekvienam kompiuteriui „ThisWorkbook.PivotCaches“

vnt. atnaujinti

Kitas pc

Pabaiga Sub

Šiame kode mes naudojame ciklą „For“, kad galėtume peržvelgti kiekvieną darbaknygės sukamąją talpyklą. „ThisWorkbook“ objekte yra visos suvestinės talpyklos. Norėdami juos pasiekti, naudojame „ThisWorkbook.PivotCaches“.

Kodėl verta naudoti „Worksheet_Deactivate“ įvykį?

Jei norite atnaujinti suvestinę lentelę, kai tik bus pakeisti šaltinio duomenys, turėtumėte naudoti „Worksheet_Change“ įvykį. Bet aš to nerekomenduoju. Tai padarys jūsų darbaknygę paleistą kodą kiekvieną kartą, kai pakeisite lapą. Prieš matydami rezultatą, turėsite atlikti šimtus pakeitimų. Tačiau „Excel“ atnaujins pagrindinę lentelę kiekvieną kartą. Dėl to bus švaistomas apdorojimo laikas ir ištekliai. Taigi, jei turite suvestines lenteles ir duomenis skirtinguose lapuose, geriau naudoti darbalapio išjungimo įvykį. Tai leidžia užbaigti savo darbą. Kai perjungiate į „pivot“ lentelės lapus, kad pamatytumėte pakeitimus, pakeitimai bus pakeisti.

Jei tame pačiame lape turite suvestines lenteles ir šaltinio duomenis ir norite, kad suvestinės lentelės automatiškai jas atnaujintų, galbūt norėsite naudoti „Worksheet_Change Event“.

Privatus antrinis darbalapio keitimas („ByVal Target“ kaip diapazonas)

Sheet1.PivotTables ("PivotTable1"). PivotCache.Refresh

Pabaiga Sub

Kaip atnaujinti viską darbaknygėse, kai keičiami šaltinio duomenys?

Jei norite atnaujinti viską darbaknygėje (diagramas, suvestines lenteles, formules ir tt), galite naudoti komandą „ThisWorkbook.RefreshAll“.

Privatus antrinis darbalapio keitimas („ByVal Target“ kaip diapazonas)

ThisWorkbook.RefreshAll

Pabaiga Sub

Pastaba: Kodas nekeičia duomenų šaltinio. Taigi, jei pridėsite duomenų po šaltinio duomenimis, šis kodas automatiškai neįtrauks šių duomenų. Šaltinio duomenims saugoti galite naudoti „Excel“ lenteles. Jei nenorite naudoti lentelių, naujiems duomenims įtraukti galime naudoti VBA. To išmoksime kitoje pamokoje.

Tikimės, kad šis straipsnis apie tai, kaip automatiškai atnaujinti „Pivot“ lentelės duomenis „Excel“, yra aiškinamasis. Čia rasite daugiau straipsnių apie verčių skaičiavimą ir susijusias „Excel“ formules. Jei jums patiko mūsų tinklaraščiai, pasidalykite jais su draugais „Facebook“. Taip pat galite sekti mus „Twitter“ ir „Facebook“. Mes norėtume išgirsti jūsų nuomonę, praneškite mums, kaip galime patobulinti, papildyti ar naujovinti savo darbą ir padaryti jį geresnį. Rašykite mums el.

Kaip dinamiškai atnaujinti „Pivot“ lentelės duomenų šaltinio diapazoną „Excel“ : Norėdami dinamiškai keisti suvestinių lentelių šaltinių duomenų diapazoną, naudojame suvestines talpyklas. Šios kelios eilutės gali dinamiškai atnaujinti bet kurią suvestinę lentelę, pakeisdamos šaltinio duomenų diapazoną. VBA naudokite suvestinių lentelių objektus, kaip parodyta žemiau …

Vykdykite makrokomandą, jei lape bus atlikti pakeitimai nurodytame diapazone : VBA praktikoje turėtumėte paleisti makrokomandas, kai pasikeičia tam tikras diapazonas ar langelis. Tokiu atveju, norėdami paleisti makrokomandas, kai keičiamas tikslinis diapazonas, naudojame pakeitimo įvykį.

Vykdyti makrokomandą, kai lape atliekami bet kokie pakeitimai : Taigi, norėdami paleisti makrokomandą, kai lapas atnaujinamas, naudojame VBA darbalapio įvykius.

Paprasčiausias VBA kodas, skirtas paryškinti dabartinę eilutę ir stulpelį : Naudokite šį mažą VBA fragmentą, kad paryškintumėte dabartinę lapo eilutę ir stulpelį.

Užduoties įvykiai „Excel VBA“ : Darbalapio įvykis yra tikrai naudingas, kai norite, kad jūsų makrokomandos būtų paleistos, kai lape įvyksta nurodytas įvykis.

Populiarūs straipsniai:

50 „Excel“ nuorodų, skirtų produktyvumui padidinti : Greičiau atlikite savo užduotis „Excel“. Šie spartieji klavišai padės padidinti darbo efektyvumą naudojant „Excel“.

Kaip naudotis „VLOOKUP“ funkcija „Excel“ : Tai yra viena iš dažniausiai naudojamų ir populiariausių „Excel“ funkcijų, naudojama vertei iš įvairių diapazonų ir lapų ieškoti.

Kaip naudoti „IF“ funkciją „Excel“ : „Excel“ IF sakinys patikrina sąlygą ir grąžina konkrečią reikšmę, jei sąlyga yra TRUE, arba grąžina kitą konkrečią reikšmę, jei FALSE.

Kaip naudotis „SUMIF“ funkcija „Excel“ : Tai dar viena esminė prietaisų skydelio funkcija. Tai padeda apibendrinti vertes konkrečiomis sąlygomis.

Kaip naudoti „COUNTIF“ funkciją „Excel“ : Skaičiuokite vertes su sąlygomis naudodami šią nuostabią funkciją. Norint suskaičiuoti konkrečias vertes, nereikia filtruoti duomenų. Skaitiklio funkcija yra būtina norint paruošti prietaisų skydelį.