VBA, kaip atnaujinti "Excel" suvestinę lentelę (5 pavyzdžiai)

  • Pasidalinti
Hugh West

Įgyvendinti VBA makrokomandos yra veiksmingiausias, greičiausias ir saugiausias būdas atlikti bet kokią operaciją "Excel" programoje. Šiame straipsnyje parodysime, kaip atnaujinkite "Excel" sukamąją lentelę naudodami VBA.

Atsisiųsti darbo knygą

Nemokamą "Excel" pratybų sąsiuvinį galite atsisiųsti iš čia.

Atnaujinti suvestinę lentelę naudojant VBA.xlsm

5 pavyzdžiai, kaip atnaujinti "Excel" suvestinę lentelę naudojant VBA

Toliau pateikiamas mūsų sukimosi lentelės pavyzdys, kurį naudosime visame straipsnyje ir parodysime 5 skirtingus pavyzdžius. atverčiamųjų lentelių atnaujinimas "Excel" programoje su VBA kodas.

1. VBA atnaujinti vieną "Excel" išvestinę lentelę

Jei norite atnaujinti tik vieną sukamąją lentelę savo "Excel" darbalapyje,

  • Paspauskite Alt + F11 klaviatūroje arba eikite į skirtuką Programuotojas -> "Visual Basic atidaryti "Visual Basic" redaktorius .

  • Iššokančiame kodo lange meniu juostoje spustelėkite Insert -> Modulis .

  • Nukopijuokite šį kodą ir įklijuokite jį į kodo langą.
 Dalis AtnaujintiOnePivotTable() ActiveSheet.PivotTables("PivotTable1").RefreshTable Pabaiga Dalis 

Dabar jūsų kodas paruoštas paleisti.

Čia, PivotTable1 yra mūsų suvestinės lentelės pavadinimas. Įrašykite pavadinimą, kurį turi jūsų suvestinė lentelė.

  • Paspauskite F5 klaviatūroje arba meniu juostoje pasirinkite Run -> Run Sub/UserForm Taip pat galite tiesiog spustelėti maža piktograma "Play submeniu juostoje, kad paleistumėte makrokomandą.

Tai padės atnaujinti sukamąją lentelę esamą "Excel" darbalapį.

Skaityti daugiau: Neatsinaujinanti suvestinė lentelė (5 problemos & amp; sprendimai)

2. Makrokomanda, atnaujinanti visas aktyviajame darbalapyje esančias suvestinių lenteles

Jei norite atnaujinti visas aktyviajame darbalapyje esančias sukamąsias lenteles , atlikite toliau nurodytus veiksmus.

  • Kaip ir anksčiau, atidarykite "Visual Basic" redaktorius Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
  • Kodo lange nukopijuokite ir įklijuokite šį kodą.
 Sub RefreshActiveSheetPivotTables() Dim PivotTbl As PivotTable For Each PivotTbl In ActiveSheet.PivotTables PivotTbl.RefreshTable Next PivotTbl End Sub 

Dabar jūsų kodas paruoštas paleisti.

  • Paleisti makrokomandą, ir visos aktyviajame darbalapyje esančios sukamosios lentelės bus atnaujintos.

Skaityti daugiau: Kaip atnaujinti visas "Excel" išvestines lenteles

3. VBA kodas, skirtas atnaujinti visas Pivot lenteles keliuose sąsiuviniuose

Jei norite atnaujinti visas sukamąsias lenteles keliuose sąsiuviniuose iš karto su VBA kodą, tada reikia atlikti šiuos veiksmus:

  • Atviras "Visual Basic" redaktorius Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
  • Kodo lange nukopijuokite ir įklijuokite šį kodą.
 Sub RefreshAllPivotTables() Dim PivotTbl As PivotTable For Each PivotTbl In ActiveWorkbook.PivotTables PivotTbl.RefreshTable Next PivotTbl End Sub 

Dabar jūsų kodas paruoštas paleisti.

  • Paleisti kodą, ir visos atvertų "Excel" sąsiuvinių sukamosios lentelės bus atnaujintos.

Prisiminkite išsaugoti visus sąsiuvinius Atviras paleidžiant šį kodą.

Panašūs skaitiniai

  • Kaip redaguoti "Excel" suvestinę lentelę (5 metodai)
  • Atnaujinti suvestinės lentelės diapazoną (5 tinkami metodai)
  • Kaip automatiškai atnaujinti suvestinę lentelę, kai keičiasi šaltinio duomenys

4. Pivot lentelės talpyklos atnaujinimas naudojant VBA "Excel" programoje

Jei darbaknygėje yra kelios sukimosi lentelės, kuriose naudojami tie patys duomenys, galite atnaujinti tik sukimosi lentelės talpyklą o ne nuolat atnaujinti faktinę sukimosi lentelę. Atnaujinant talpyklą automatiškai išvaloma visų sukimosi lentelių, naudojančių tą patį duomenų ryšį talpykloje, talpyklos atmintis.

Tam reikia atlikti šiuos veiksmus,

  • Atviras "Visual Basic" redaktorius Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
  • Kodo lange nukopijuokite ir įklijuokite šį kodą.
 Sub RefreshPivotTableCache() Dim PivotCache As PivotCache For Each PivotCache In ActiveWorkbook.PivotCaches PivotCache.Refresh Next PivotCache End Sub 

Dabar jūsų kodas paruoštas paleisti.

  • Paleisti kodas ir bus išvalytos visos sukamosios lentelės talpyklos atmintinės.

Skaityti daugiau: Kaip "Excel" programoje automatiškai atnaujinti suvestinę lentelę be VBA (3 išmanieji metodai)

5. Automatinis Pivot lentelės atnaujinimas keičiant duomenis naudojant VBA makrokomandą

Ką daryti, jei turite sukamąją lentelę, kurioje yra daug duomenų, ir norite tik atnaujinti kelis duomenis, o visa lentelė liktų nepaliesta. "Excel" programoje galite automatiškai atnaujinti sukamąją lentelę. atnaujinant duomenis su VBA .

  • Atviras "Visual Basic" redaktorius Kūrėjas.
  • Kairėje redaktoriaus pusėje būtų Projekto tyrėjas langą, kuriame yra visi darbalapio pavadinimai.
  • Svetainėje Projekto tyrėjas , dukart spustelėkite lapo, kuriame yra sukamoji lentelė, pavadinimą.

  • Atsivers kodo langas, kuriame sukursime įvykio makrokomandą. Pasirinkite Darbalapis Objektas išskleidžiamąjį langelį kairėje kodo modulio pusėje. Taip bus pridėtas Darbalapis_SelectionChange įvykis į modulį, iš tikrųjų mums jo nereikia, todėl vėliau šią kodo dalį ištrinsime.
  • Tada spustelėkite Procedūra išskleidžiamąjį sąrašą ir pasirinkite Keisti . Taip kodo modulio viršuje pridedamas naujas įvykis, vadinamas Darbalapis_Change . Savo kodą čia rašysime taip ištrinti kodą, sukurtą naudojant Darbalapis_SelectionChange

  • Dabar nukopijuokite šį kodą ir įklijuokite jį į Darbalapis_Change
 Private Sub Worksheet_Change(ByVal Target As Range) Worksheets("PivotTbl").PivotTables("PivotTable1").PivotCache.Refresh End Sub 

Dabar jūsų kodas paruoštas paleisti.

Čia, PivotTbl yra "Excel" darbalapio pavadinimas, o PivotTable1 yra mūsų suvestinės lentelės pavadinimas. Įrašykite pavadinimą, kurį turi jūsų darbalapis ir suvestinė lentelė.

  • Dabar kiekvieną kartą, kai pakeisite pirminės duomenų lentelės duomenis, automatiškai bus atnaujinami ir sukamosios lentelės duomenys.

Skaityti daugiau: Kaip automatiškai atnaujinti "Excel" išvestinę lentelę

Išvada

Šiame straipsnyje parodyta, kaip atnaujinti sukamąją lentelę "Excel" programoje su VBA . tikiuosi, kad šis straipsnis jums buvo labai naudingas. Drąsiai klauskite, jei turite klausimų šia tema.

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.