Jadual Pivot Refresh VBA

Jadual Pivot Refresh Excel VBA

Apabila kita memasukkan jadual pangsi dalam lembaran, setelah data berubah pivot table tidak berubah sendiri kita perlu melakukannya secara manual tetapi di VBA ada pernyataan untuk menyegarkan pivot table yang merupakan ekspresi . Refreshtable , dengan 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 sangat penting dalam menganalisis sejumlah besar data. Ini membantu tepat dari menganalisis, meringkaskan, dan juga membuat interpretasi data yang berguna. Namun salah satu masalah dengan tabel pivot ini adalah tidak akan disegarkan secara automatik jika ada perubahan pada data sumber, pengguna harus memuat semula jadual pangsi dengan pergi ke meja pangsi tertentu setiap kali ada perubahan. Tetapi selamat tinggal pada proses manual kerana di sini kita mempunyai kaedah untuk memuat semula jadual pangsi sebaik sahaja anda membuat perubahan pada jadual pangsi.

Bagaimana Cara Auto Refresh Pivot Table Data VBA Code?

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

Sebagai contoh, 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 menukar nilai dari 499 menjadi 1499 iaitu 1000 peningkatan data tetapi jika anda melihat pangsi 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 dalam data sumber.

Anda boleh memuat turun Templat Excel Viv Refresh Pivot Table ini di sini - Templat Excel VBA Refresh Pivot Table

# 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 klik dua kali pada helaian pilih "Lembar Kerja" dan pilih acara sebagai "Tukar".

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 lembaran data sumber. Anda boleh menggunakan kod di bawah, anda hanya perlu menukar nama jadual pangsi.

Kod:

 Lembaran Kerja Sub Peribadi_Change (Sasaran Oleh Julat ByVal) Lembaran Kerja ("Lembaran Data"). Jadual Pivot ("PivotTable1"). Sub Akhir Akhir Jadual Refresh 

# 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, kita tidak dapat terus menulis kod untuk setiap jadual pangsi untuk disegarkan.

Jadi, apa yang boleh kita lakukan adalah dengan satu kod menggunakan gelung yang 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.Refresh Next PT 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 tersebut.

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

Ketika kita menggunakan acara "Perubahan Lembar Kerja" itu tetap menyegarkan walaupun 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 boleh menggunakan kaedah "Lembar Kerja Nyahaktifkan" dan bukannya kaedah "Perubahan Lembaran Kerja"

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

Original text