VBA - atsvaidzināt rakurstabulu / visas rakurstabulas

Šī 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š

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave