VBA Yenileme Özet Tablosu - VBA kullanarak Tüm Pivot Tabloyu Otomatik Yenileyin

Excel VBA Yenileme Pivot Tablosu

Sayfaya bir pivot tablo eklediğimizde , veriler değiştiğinde pivot tablo verileri kendini değiştirmez, bunu manuel olarak yapmamız gerekir, ancak VBA'da pivot tabloyu yenilemek için ifade olan bir ifade vardır. Refreshtable , bunu kullanarak yenileyebiliriz pivot tablo, onu oluşturan çalışma sayfasına başvurarak veya çalışma sayfalarındaki tüm pivot tablolara başvurabilir ve hepsini bir kerede yenileyebiliriz.

Pivot tablo, büyük miktarda veriyi analiz etmede çok önemlidir. Analiz etmekten, özetlemekten ve yararlı veri yorumlamalarını yapmaya yardımcı olur. Ancak, bu pivot tablodaki sorunlardan biri, kaynak verilerde herhangi bir değişiklik olması durumunda otomatik olarak yenilenmemesidir. Kullanıcı, her değişiklik olduğunda belirli bir pivot tabloya giderek pivot tabloyu yenilemelidir. Ancak manuel işleme veda edin çünkü burada, pivot tabloda herhangi bir değişiklik yaptığınız anda pivot tabloyu yenileme yöntemimiz var.

Pivot Tablo Verileri VBA Kodunu Otomatik Yenileme

Pivot tablonun güncellenmesi gereken tek zaman, bahsettiğimiz pivot tablonun kaynak verilerinde herhangi bir değişiklik olduğu zamandır.

Örneğin, aşağıdaki verilere ve pivot tabloya bakın.

Şimdi kaynak verilerdeki sayıları, yani A1'den B17'ye değiştireceğim.

B9 hücresinde, değeri 499'dan 1499'a değiştirmem gerekiyor, yani verilerde 1000 artış var ancak pivota bakarsanız, sonucu hala 5295 yerine 4295 olarak gösteriyor. Pivot tablomu güncellemek için el ile yenilemem gerekiyor. Pivot tablo.

Bu sorunun üstesinden gelmek için, kaynak verilerde herhangi bir değişiklik olduğunda pivot tabloyu yenilemek için basit bir excel makro kodu yazmamız gerekir.

# 1 - Tüm Tabloyu Yenilemek için Basit Makro

Adım 1: Veri Sayfasındaki Etkinliği Değiştirin

Veri sayfasının değişim olayını tetiklememiz gerekiyor. Görsel temel düzenleyicide, veri sayfasına çift tıklayın.

Sayfayı çift tıkladığınızda, "Çalışma Sayfası" nı seçin ve etkinliği "Değiştir" olarak seçin .

Worksheet_Change (ByVal Target As Range) olarak açılan bir otomatik alt prosedür göreceksiniz.

Adım 2: Çalışma Sayfası Nesnesini Kullanın

Çalışma Sayfaları nesnesini kullanarak veri sayfasına bakın.

Adım 3: Ada Göre Özet Tabloya Bakın

Pivot tablo adına göre pivot tablo adına bakın.

Adım 4: Tabloyu Yenile Yöntemini Kullanın

Yöntemi "Tabloyu Yenile" olarak seçin.

Artık bu kod, kaynak veri sayfasında herhangi bir değişiklik olduğunda "PivotTable1" pivot tablosunu yenileyecektir. Aşağıdaki kodu kullanabilirsiniz. Pivot tablo adını değiştirmeniz yeterlidir.

Kod:

Özel Alt Çalışma Sayfası_Değiştir (Aralık Olarak Hedefe Göre Hedef) Çalışma Sayfası ("Veri Sayfası"). PivotTable'lar ("PivotTable1"). Yenilenebilir Tablo Son Alt

# 2 - Aynı Çalışma Sayfasının Tüm Özet Tablolarını Yenile

Aynı çalışma sayfasında çok sayıda pivot tablonuz varsa, tüm pivot tabloları tek bir tıklamayla yenileyebilirsiniz. Sayfadaki tüm pivot tabloları yenilemek için aşağıdaki kodu kullanın.

Kod:

Alt Refresh_Pivot_Tables_Example1 () Çalışma Sayfaları ("Veri Sayfası"). ActiveSheet ile seçin. PivotTable'lar ("Tablo1"). RefreshTable .PivotTable'lar ("Tablo2"). Yenilenebilir Tablo .PivotTables ("Tablo3"). Yenilenebilir Tablo .PivotTables ("Tablo4") RefreshTable .PivotTables ("Table5"). End Sub ile RefreshTable End

Çalışma sayfanızın ve pivot tablo adlarının adını çalışma sayfası ayrıntılarınıza göre değiştirmeniz gerekir.

# 3 - Çalışma Kitabındaki Tüm Tabloları Yenileyin

Tüm pivot tabloların aynı çalışma sayfasında olması pek olası değildir. Genellikle, her rapor için ayrı sayfalarda ayrı pivot tablolar eklemeye çalışırız. Bu durumlarda, yenilenecek her bir pivot tablonun kodunu yazmaya devam edemeyiz.

Dolayısıyla, döngüleri kullanan tek bir kodla yapabileceğimiz şey, çalışma kitabındaki tüm pivot tabloları arasında döngü oluşturabilir ve tek bir düğmeye tıklayarak onları yenileyebiliriz.

Aşağıdaki kod, her bir pivot tablonun üzerinden geçecek ve bunları yenileyecektir.

Kod 1:

Sub Refresh_Pivot_Tables_Example2 () ActiveWorkbook.PivotTables'da Her PT İçin PivotTable Olarak PT'yi Kısalt. PT.RefreshTable Sonraki PT Son Alt

Kod 2:

Sub Refresh_Pivot_Tables_Example3 () ActiveWorkbook'ta Her Bilgisayar İçin PivotCache Olarak Bilgisayarı Karart. PC'yi Yenile Sonraki PT Son Alt

Her iki kod da pivot tabloların yenilenmesini sağlayacaktır.

Özet tablonun veri sayfasında herhangi bir değişiklik olur olmaz yenilenmesini istiyorsanız, yukarıdaki kodları kopyalayıp o çalışma kitabındaki Çalışma Sayfası Değişikliği olayına yapıştırmanız gerekir.

# 4 - Çalışma Sayfası Devre Dışı Bırakma Olayını kullanarak Yükleme Süresinden Kaçının

"Çalışma Sayfası Değişikliği" olayını kullandığımızda, veri kaynağında herhangi bir değişiklik olmasa da, çalışma sayfasında herhangi bir değişiklik olursa bile yenilenmeye devam eder.

Çalışma sayfasına tek bir nokta girseniz bile, pivot tabloyu yenilemeye çalışır. Bundan kaçınmak için "Çalışma Sayfası Değiştirme" yöntemi yerine "Çalışma Sayfası Deactivate" yöntemini kullanabiliriz.

Bir sayfadan başka bir sayfaya geçerken pivot tablodaki etkinlik güncellemelerini devre dışı bırakın.

Ilginç makaleler...