Jadual Pivot Refresh VBA - Auto Refresh All Pivot Table menggunakan VBA

Jadual Pivot Refresh Excel VBA

Apabila kita memasukkan pivot table dalam helaian, setelah data berubah pivot table data tidak berubah sendiri kita perlu melakukannya secara manual tetapi di VBA ada pernyataan untuk menyegarkan pivot table yang merupakan ekspresi . Refreshtable , dengan menggunakan ini kita dapat menyegarkan jadual pangsi dengan merujuk pada lembaran kerja yang menyusunnya atau kita boleh merujuk keseluruhan jadual pangsi di lembaran kerja dan menyegarkan semuanya sekaligus.

Jadual pangsi penting dalam menganalisis sejumlah besar data. Ini membantu tepat dari menganalisis, meringkaskan, dan juga membuat interpretasi data yang berguna. Namun, salah satu masalah dengan jadual pangsi ini adalah tidak akan disegarkan secara automatik sekiranya terdapat perubahan pada data sumber. Pengguna harus memuat semula jadual pangsi dengan pergi ke pivot table tertentu setiap kali ada perubahan. Tetapi selamat tinggal pada proses manual kerana di sini kami mempunyai kaedah untuk memuat semula jadual pangsi sebaik sahaja anda membuat perubahan pada jadual pangsi.

Bagaimana untuk Auto Refresh Data Jadual Pivot Kod VBA?

Satu-satunya masa jadual pangsi perlu dikemas kini ialah setiap kali terdapat perubahan pada data sumber dari jadual pangsi yang kita rujuk.

Contohnya, lihat data di bawah dan jadual pangsi.

Sekarang saya akan menukar nombor dalam data sumber, iaitu dari A1 ke B17.

Dalam sel B9, saya harus mengubah nilai dari 499 menjadi 1499, iaitu, 1000 peningkatan data tetapi jika anda melihat pivot masih menunjukkan hasilnya sebagai 4295 dan bukan 5295. Saya harus menyegarkan jadual pangsi saya secara manual untuk mengemas kini jadual pangsi.

Untuk mengatasi masalah ini, kita perlu menulis kod makro excel sederhana untuk memuat semula jadual pangsi setiap kali ada perubahan pada data sumber.

# 1 - Makro Mudah untuk Menyegarkan Semua Jadual

Langkah 1: Ubah Acara Lembaran Data

Kita perlu mencetuskan peristiwa perubahan lembar data. Dalam editor asas visual, klik dua kali pada lembar data.

Sebaik sahaja anda mengklik dua kali pada helaian, pilih "Lembar Kerja" dan pilih acara sebagai "Ubah."

Anda akan melihat sub prosedur automatik dibuka sebagai Worksheet_Change (ByVal Target As Range)

Langkah 2: Gunakan Objek Lembaran Kerja

Rujuk lembaran data dengan menggunakan objek Lembaran Kerja.

Langkah 3: Rujuk Jadual Pangsi mengikut Nama

Rujuk nama jadual pangsi dengan nama jadual pangsi.

Langkah 4: Gunakan Kaedah Jadual Segarkan

Pilih kaedah sebagai "Refresh Table."

Sekarang, kod ini akan menyegarkan jadual pangsi "PivotTable1" setiap kali ada perubahan pada lembar data sumber. Anda boleh menggunakan kod di bawah. Anda hanya perlu menukar nama jadual pangsi.

Kod:

Lembaran Kerja Sub Swasta_Change (Sasaran Oleh Julat ByVal) Lembaran Kerja ("Lembaran Data"). Meja Pivot ("PivotTable1"). Sub Akhir Akhir RefreshTable

# 2 - Muat semula Semua Jadual Pangsi dari Lembaran Kerja yang Sama

Sekiranya anda mempunyai banyak jadual pangsi dalam lembaran kerja yang sama, anda boleh memuat semula semua jadual pangsi dalam satu klik itu sendiri. Gunakan kod di bawah untuk memuat semula semua jadual pangsi dalam helaian.

Kod:

Sub Refresh_Pivot_Tables_Example1 () Lembaran Kerja ("Lembaran Data"). Pilih Dengan ActiveSheet .PivotTables ("Table1"). RefreshTable .PivotTables ("Table2"). RefreshTable .PivotTables ("Table3"). RefreshTable .PivotTables ("Table4"). RefreshTable .PivotTables ("Table5"). RefreshTable End with End Sub

Anda perlu menukar nama lembaran kerja dan nama jadual pangsi mengikut perincian lembaran kerja anda.

# 3 - Segarkan Semua Jadual dalam Buku Kerja

Tidak mungkin kita mempunyai semua jadual pangsi pada lembaran kerja yang sama. Biasanya, untuk setiap laporan, kami cuba menambahkan jadual pangsi berasingan dalam helaian berasingan. Dalam kes ini, kami tidak dapat terus menulis kod untuk setiap jadual pangsi untuk disegarkan.

Jadi, apa yang dapat kita lakukan adalah dengan satu kod menggunakan gelung, kita dapat melengkapkan semua jadual pangsi di buku kerja dan menyegarkannya dengan satu klik butang.

Kod di bawah akan melingkari setiap jadual pangsi dan menyegarkannya.

Kod 1:

Sub Refresh_Pivot_Tables_Contoh2 () Dim PT Sebagai PivotTable Untuk Setiap PT Di ActiveWorkbook.PivotTables PT.RefreshTable Next PT End Sub

Kod 2:

Sub Refresh_Pivot_Tables_Contoh3 () Dim PC Sebagai PivotCache Untuk Setiap PC Di ActiveWorkbook.PivotCaches PC.Refesh Next Next End End Sub

Kedua-dua kod ini akan menyegarkan jadual pangsi.

Sekiranya anda mahu jadual pangsi disegarkan sebaik sahaja terdapat perubahan dalam lembar data lembaran pivoting, anda perlu menyalin dan menempelkan kod di atas ke acara Perubahan Lembaran Kerja di buku kerja itu.

# 4 - Elakkan Memuatkan Masa dengan menggunakan Lembaran Kerja Nyahaktifkan Acara

Ketika kita menggunakan acara "Perubahan Lembar Kerja", itu tetap menyegarkan bahkan ketika tidak ada perubahan pada sumber data, tetapi jika ada perubahan terjadi di lembar kerja.

Walaupun anda memasukkan satu titik tunggal dalam lembaran kerja, ia cuba memuat semula jadual pangsi. Oleh itu, untuk mengelakkan ini, kita dapat menggunakan kaedah “Worksheet Deactivate” dan bukannya kaedah “Worksheet Change”.

Nyahaktifkan kemas kini acara pada jadual pangsi semasa berpindah dari satu helaian ke helaian yang lain.

Artikel menarik...