VBA - Osveži vrtilno tabelo / vse vrtilne tabele

Ta vadnica bo pokazala, kako osvežiti vrtilno tabelo ali vse vrtilne tabele z uporabo VBA.

Vrtilne tabele so izjemno zmogljivo podatkovno orodje Excela. Vrtilne tabele nam omogočajo analizo in razlago velikih količin podatkov z združevanjem in povzemom polj in vrstic.

Ko ustvarimo vrtilno tabelo, se podatki shranijo v predpomnilnik vrtilne tabele. Podatki so zato shranjeni v predpomnilniku računalnika, kar pospeši vrtilno tabelo.

Če je vir podatkov vrtilne tabele posodobljen, se sama vrtilna tabela ne posodobi. Uporabnik v Excelu mora klikniti na Osveži vse na zavihku Podatki na traku za osvežitev izvornih podatkov vrtilne tabele.

Druga možnost je, da lahko v VBA napišemo makre, ki nam bodo posodobili podatke!

Osvežite vse podatkovne povezave

Najenostavnejša metoda za osvežitev podatkov je uporaba VBA za posnemanje tega, kar Osveži vse gumb naredi na traku.

123 Sub RefreshConnections ()ActiveWorkbook.RefreshAllEnd Sub

Ta metoda bo osvežila vse povezave s poljubnimi podatki v delovnem zvezku, ki jih imate aktivne. Prav tako ne bo osvežil samo ene vrtilne tabele, temveč bo osvežil več vrtilnih tabel, če imate več kot eno povezano z različnimi nabori podatkov.

Osvežite vse vrtilne tabele

Če želite osvežiti samo vrtilne tabele v našem delovnem zvezku, vendar izključiti vse druge podatkovne povezave, lahko uporabimo metodo, imenovano RefreshTable.

Če imamo v svojem delovnem zvezku več vrtilnih tabel, bi morali pregledati vse vrtilne tabele, da jih vse osvežimo. Če želite to narediti, najprej razglasimo spremenljivko vrtilne tabele in nato ustvarimo za vsako zanko, ki prečka vse vrtilne tabele v aktivnem delovnem zvezku.

123456 Sub RefreshPivotsOnly ()Zatemni tblPivot kot vrtilno tabeloZa vsak tblPivot v ActiveWorkbook.PivotTabeletblPivot.RefreshTableNaslednji tblPivotEnd Sub

Podoben makro lahko uporabimo za osvežitev vrtilnih tabel v naši Aktivni list namesto celotnega delovnega zvezka. Nato bi pregledali vrtilne tabele v ActiveSheet namesto ActiveWorkbook.

123456 Sub RefreshActiveSheetPivotsOnly ()Zatemni tblPivot kot vrtilno tabeloZa vsako tblPivot v ActiveSheet.PivotTabeletblPivot.RefreshTableNaslednji tblPivotEnd Sub

Ta makro bi bil najbolj uporaben, če bi do njega imeli enostaven dostop ActiveSheet. Če želite to narediti, lahko na listu ustvarimo gumb za zagon makra.

Osvežite eno vrtilno tabelo

Če želimo samo osvežiti vrtilno tabelo, na kateri delamo, in ne vseh drugih vrtilnih tabel v delovnem zvezku, moramo identificirati posebno vrtilno tabelo. To je seveda, dokler poznate ime vrtilne tabele - v tem primeru Vrtilna tabela1.

123 Sub RefreshOneTableActiveSheet.PivotTables ("PivotTable1"). RefreshTableEnd Sub

Osveževanje predpomnilnika vrtilne tabele

Če imamo v delovnem zvezku več vrtilnih tabel, vendar vse uporabljajo enake podatke, lahko osvežimo predpomnilnik vrtilne tabele in ne osvežimo dejanske vrtilne tabele. Osvežitev predpomnilnika bo nato samodejno osvežila vse vrtilne tabele, ki uporabljajo podatke v predpomnilniku.

123456 Sub RefreshCache ()Zatemni chPivot kot vrtilni predpomnilnikZa vsak chPivot v ActiveWorkbook.PivotCacheschPivot.OsvežiNaslednji chPivotEnd Sub
wave wave wave wave wave