VBA Refresh Pivot Table | Auto Refresh Lahat ng Talaan ng Pivot gamit ang VBA

Excel VBA Refresh Pivot Table

Kapag pinasok namin ang a pivot table sa sheet, sa sandaling nagbago ang data ng data ng pivot table ay hindi nagbabago mismo kailangan naming gawin ito nang manu-mano ngunit sa VBA mayroong isang pahayag upang i-refresh ang talahanayan ng pivot na expression.refreshtable, gamit ito maaari naming mai-refresh ang talahanayan ng pivot sa pamamagitan ng pagsangguni sa worksheet na binubuo nito o maaari nating tingnan ang buong mga talahanayan ng pivot sa mga worksheet at i-refresh ang lahat nang sabay-sabay.

Ang talahanayan ng pivot ay mahalaga sa pag-aralan ang malaking halaga ng data. Nakakatulong ito mula mismo sa pag-aaral, pagbubuod, pati na rin ang paggawa ng kapaki-pakinabang na interpretasyon ng data. Gayunpaman ang isa sa mga problema sa talahanayan ng pivot na ito ay hindi ito awtomatikong mai-refresh kung mayroong anumang pagbabago sa pinagmulan ng data, kailangang i-refresh ng gumagamit ang talahanayan ng pivot sa pamamagitan ng pagpunta sa partikular na talahanayan ng pivot tuwing may pagbabago. Ngunit paalam sa manu-manong proseso dahil narito mayroon kaming pamamaraan upang mai-refresh ang talahanayan ng pivot sa sandaling gumawa ka ng anumang pagbabago sa talahanayan ng pivot.

Paano Mag-auto Refresh ng Data ng Talaan ng Pivot na VBA Code?

Ang tanging oras na kailangang i-update ang talahanayan ng pivot ay tuwing mayroong anumang pagbabago sa mapagkukunang data ng talahanayan ng pivot na tinutukoy namin.

Halimbawa, tingnan ang sa ibaba ng data at talahanayan ng pivot.

Ngayon ay babaguhin ko ang mga numero sa pinagmulang data hal mula sa A1 patungong B17.

Sa cell B9 kailangan kong baguhin ang halaga mula 499 hanggang 1499 ibig sabihin, 1000 pagtaas sa data ngunit kung titingnan mo ang pivot ay ipinapakita pa rin ang resulta bilang 4295 sa halip na 5295. Kailangan kong manu-manong i-refresh ang aking talahanayan ng pivot upang i-update ang talahanayan ng pivot.

Upang mapagtagumpayan ang isyung ito kailangan naming magsulat ng isang simpleng excel macro code upang mai-refresh ang talahanayan ng pivot tuwing mayroong anumang pagbabago sa pinagmulang data.

Maaari mong i-download ang VBA Refresh Pivot Table Excel Template dito - VBA Refresh Pivot Table Excel Template

# 1 - Simpleng Macro upang I-refresh ang Lahat ng Talahanayan

Hakbang 1: Baguhin ang Kaganapan ng Datasheet

Kailangan naming mag-trigger ng kaganapan ng pagbabago ng datasheet. Sa visual na pangunahing editor ng dobleng pag-click sa datasheet.

Kapag nag-double click ka sa sheet select "Worksheet" at piliin ang kaganapan bilang "Baguhin".

Makakakita ka ng isang pagbubukas ng sub sub na pamamaraan bilang Worksheet_Change (Target ng ByVal Bilang Saklaw)

Hakbang 2: Gumamit ng Bagay sa Worksheet

Sumangguni sa datasheet sa pamamagitan ng paggamit ng object ng Worksheets.

Hakbang 3: Sumangguni sa Talahanayan ng Pivot ayon sa Pangalan

Sumangguni sa pangalan ng talahanayan ng pivot sa pamamagitan ng pangalan ng talahanayan ng pivot.

Hakbang 4: Gamitin ang Paraan ng Refresh Table

Piliin ang pamamaraan bilang "Refresh Table".

Ngayon, ire-refresh ng code na ito ang talahanayan ng pivot na "PivotTable1" tuwing mayroong anumang pagbabago sa pinagmulang sheet ng data. Maaari mong gamitin ang code sa ibaba, kailangan mo lamang baguhin ang pangalan ng talahanayan ng pivot.

Code:

 Private Sub Worksheet_Change (Target na ByVal Bilang Saklaw) Worksheet ("Data Sheet"). Mga PivotTable ("PivotTable1"). RefreshTable End Sub 

# 2 - I-refresh ang Lahat ng Mga Talahanayan ng Pivot ng Parehong Worksheet

Kung mayroon kang maraming mga talahanayan ng pivot sa parehong worksheet maaari mong i-refresh ang lahat ng mga talahanayan ng pivot sa isang solong pag-click mismo. Gamitin ang code sa ibaba upang i-refresh ang lahat ng mga talahanayan ng pivot sa sheet.

Code:

 Sub Refresh_Pivot_Tables_Example1 () Worksheets ( "Sheet Data"). Piliin ang Gamit ActiveSheet .PivotTables ( "Table1"). RefreshTable .PivotTables ( "Table2"). RefreshTable .PivotTables ( "Table3"). RefreshTable .PivotTables ( "Table4"). RefreshTable .PivotTables ("Table5"). Tapusin ang RefreshTable Sa Katapusan Sub 

Kailangan mong baguhin ang pangalan ng worksheet at mga pangalan ng talahanayan ng pivot ayon sa iyong mga detalye sa worksheet.

# 3 - I-refresh ang Lahat ng Mga Talahanayan sa Workbook

Malamang na malamang na wala tayong lahat ng mga talahanayan ng pivot sa parehong worksheet. Karaniwan, para sa bawat ulat, sinusubukan naming magdagdag ng magkakahiwalay na mga talahanayan ng pivot sa magkakahiwalay na mga sheet. Sa mga kasong ito, hindi namin mapapanatili ang pagsusulat ng code para sa bawat talahanayan ng pivot upang mai-refresh.

Kaya, kung ano ang maaari nating gawin ay sa isang solong code gamit ang mga loop maaari nating mai-loop ang lahat ng mga talahanayan ng pivot sa workbook at i-refresh ang mga ito sa isang solong pag-click ng pindutan.

Ang code sa ibaba ay iikot sa bawat talahanayan ng pivot at i-refresh ang mga ito.

Code 1:

 Sub Refresh_Pivot_Tables_Example2 () I-dim ang PT Bilang PivotTable Para sa bawat PT Sa ActiveWorkbook.PivotTables PT.RefreshTable Susunod na PT End Sub 

Code 2:

 Sub Refresh_Pivot_Tables_Example3 () I-dim ang PC Bilang PivotCache Para sa bawat PC Sa ActiveWorkbook.PivotCache PC. I-refresh ang Susunod na PT End Sub 

Parehong gagawin ng mga code ang pag-refresh ng mga talahanayan ng pivot.

Kung nais mong ma-refresh ang talahanayan ng pivot sa sandaling mayroong anumang pagbabago sa datasheet ng sheet ng pivoting kailangan mong kopyahin at i-paste ang mga code sa itaas sa kaganapan sa Pagbabago ng Worksheet sa workbook na iyon.

# 4 - Iwasang Mag-load ng Oras sa pamamagitan ng paggamit ng Worksheet Deactivate na Kaganapan

Kapag ginamit namin ang kaganapan na "Pagbabago ng Worksheet" patuloy itong nagre-refresh kahit na walang pagbabago sa mapagkukunan ng data ngunit kung may anumang pagbabago na maganap sa worksheet.

Kahit na ipinasok mo ang isang solong tuldok sa worksheet sinusubukan nitong i-refresh ang talahanayan ng pivot. Kaya upang maiwasan ito maaari naming gamitin ang pamamaraang "Worksheet Deactivate" sa halip na ang pamamaraang "Pagbabago ng Worksheet".

I-deactivate ang mga pag-update ng kaganapan sa talahanayan ng pivot kapag lumilipat mula sa isang sheet papunta sa isa pang sheet.