Šī apmācība parādīs, kā atsvaidzināt rakurstabulu vai visas rakurstabulas, izmantojot VBA.
Pivot tabulas ir ārkārtīgi spēcīgs Excel datu rīks. Pivot tabulas ļauj mums analizēt un interpretēt lielu datu apjomu, grupējot un apkopojot laukus un rindas.
Izveidojot Pivot tabulu, dati tiek glabāti tā sauktajā Pivot tabulas kešatmiņā. Tādējādi dati tiek saglabāti datora kešatmiņā, kas paātrina rakurstabulu.
Ja tiek atjaunināts rakurstabulas datu avots, pati rakurstabula netiek atjaunināta. Lietotājam programmā Excel ir jānoklikšķina uz Atsvaidzināt visu pogu lentes cilnē Dati, lai atsvaidzinātu rakurstabulas avota datus.
Alternatīvi, mēs varam rakstīt makro VBA, kas atjauninās mūsu datus!
Atsvaidziniet visus datu savienojumus
Vienkāršākā metode datu atsvaidzināšanai ir izmantot VBA, lai atdarinātu to, kas Atsvaidzināt visu poga darbojas uz lentes.
123 | Sub RefreshConnections ()ActiveWorkbook.RefreshAllBeigu apakš |
Šī metode atsvaidzinās visus savienojumus ar visiem aktīvās darbgrāmatas datiem. Tas arī atsvaidzinās ne tikai vienu Pivot tabulu, bet arī atsvaidzinās vairākas Pivot tabulas, ja jums ir pievienotas vairākas datu kopas.
Atsvaidzināt visas rakurstabulas
Lai atsvaidzinātu tikai mūsu darbgrāmatas rakurstabulas, bet izslēgtu citus datu savienojumus, mēs varam izmantot metodi ar nosaukumu RefreshTable.
Ja mūsu darbgrāmatā ir vairākas rakurstabulas, mums ir jāapmeklē visas rakurstabulas, lai tās atsvaidzinātu. Lai to izdarītu, mēs vispirms deklarējam rakurstabulas mainīgo un pēc tam izveidojam katrai cilpai cilpu, lai izietu cauri visām Active darbgrāmatas rakurstabulām.
123456 | Sub RefreshPivotsOnly ()Dim tblPivot kā rakurstabulaPar katru tblPivot ActiveWorkbook.PivotTablestblPivot.RefreshTableNākamais tblPivotBeigu apakš |
Mēs varam izmantot līdzīgu makro, lai atsvaidzinātu mūsu rakurstabulas Aktīvā lapa nevis visa darbgrāmata. Pēc tam mēs pārvietotos pa Pivot tabulām ActiveSheet nevis ActiveWorkbook.
123456 | Sub RefreshActiveSheetPivotsOnly ()Dim tblPivot kā rakurstabulaPar katru tblPivot ActiveSheet.PivotTabletblPivot.RefreshTableNākamais tblPivotBeigu apakš |
Šis makro būtu visnoderīgākais, ja mums tas būtu viegli pieejams ActiveSheet. Lai to izdarītu, mēs varam izveidot pogu uz lapas, lai palaistu makro.
Atsvaidziniet vienu rakurstabulu
Ja mēs tikai vēlamies atsvaidzināt Pivot tabulu, pie kuras mēs strādājam, nevis visas pārējās darbgrāmatas rakurstabulas, mums ir jāidentificē konkrētā rakurstabula. Protams, tas ir tik ilgi, kamēr jūs zināt rakurstabulas nosaukumu - šajā gadījumā PivotTable1.
123 | Apakšatjaunināšanas tabulaActiveSheet.PivotTables ("PivotTable1"). RefreshTableBeigu apakš |
Pivot tabulas kešatmiņas atsvaidzināšana
Ja mūsu darbgrāmatā ir vairākas rakurstabulas, bet tajās visos tiek izmantoti vieni un tie paši dati, mēs varam atsvaidzināt rakurstabulas kešatmiņu, nevis atsvaidzināt faktisko rakurstabulu. Pēc kešatmiņas atsvaidzināšanas automātiski tiks atsvaidzinātas visas rakurstabulas, kurās tiek izmantoti kešatmiņā esošie dati.
123456 | Sub RefreshCache ()Aptumšojiet chPivot kā PivotCachePar katru chPivot ActiveWorkbook.PivotCacheschPivot. AtsvaidzinātNākamais chPivotBeigu apakš |