Turinys
Į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 iš 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 iš 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 iš 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 iš 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 iš 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.