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 |