ActiveWorkbook.Refreshall tamamlanana kadar makroları bekletmek.

burakturk

Altın Üye
Katılım
12 Şubat 2013
Mesajlar
53
Excel Vers. ve Dili
Türkçe Excel 2019
Altın Üyelik Bitiş Tarihi
16-06-2025
Arkadaşlar merhaba,
Daha önceden buradaki arkadaşların yardımı ile otomatik gönderilen bazı tablolar oluşturmuştum. Benzer şekilde bir dosyam daha mevcut.
Dosya açılınca listeleri "ActiveWorkbook.RefreshAll" komutu ile güncelleyerek PDF'e çevirmesini sağlıyorum. Ancak burada PDF dosyası yenilenmemiş şekilde çıktı alıyor.

Burada ActiveWorkbook.RefreshAll komutu bitene kadar makronun beklemesini sağlayabilir miyim?

Yardımlarınız için şimdiden teşekkür ederim
 

Suskun

Altın Üye
Altın Üye
Katılım
27 Kasım 2006
Mesajlar
292
Excel Vers. ve Dili
Excel 19
Altın Üyelik Bitiş Tarihi
24.05.2032
Tam yenileme olmuyordur. Deneyin
Kod:
Private Sub Workbook_Open()
Dim ws As Worksheet
Dim pt As PivotTable

ActiveWorkbook.RefreshAll

For Each ws In ActiveWorkbook.Worksheets
    For Each pt In ws.PivotTables
        pt.RefreshTable
    Next pt
Next ws

End Sub
Birden çok tablo aynı önbelleği kullanıyorsa sadece pivotcachl'arı yenileyin
Kod:
Private Sub Workbook_Open()
Dim pc As PivotCache

ActiveWorkbook.RefreshAll

For Each pc In ActiveWorkbook.PivotCaches
    pc.Refresh
Next pc

End Sub
 

burakturk

Altın Üye
Katılım
12 Şubat 2013
Mesajlar
53
Excel Vers. ve Dili
Türkçe Excel 2019
Altın Üyelik Bitiş Tarihi
16-06-2025
Çok teşekkür ediyorum.

2. kodlar işimi gördü.

Eğer vaktinizi almayacak ise bana buradaki mantığı anlatabilir misiniz?

Tekrardan çok teşekkür ediyorum
 

Suskun

Altın Üye
Altın Üye
Katılım
27 Kasım 2006
Mesajlar
292
Excel Vers. ve Dili
Excel 19
Altın Üyelik Bitiş Tarihi
24.05.2032
Pivot Önbellek Özet tablo ile beraber otomatik olarak oluşturulan ve Veri kaynağının Kopyasını tutan nesnedir. Özet tabloda yapılan değişiklik pivot önbellekte gerçekleştirilerek Pivot tablonun hızlı çalışması sağlanır. Doğrudan verilerle özet tabloda değişiklik yaptığınızı zannederken pivot önbelleği kullanırsınız. Değişiklikleri yansıtmak için yenileme (refresh)yapılmasının nedeni de bu.
Veriler büyükse ve bir kaç tabloda aynı verileri kullanılırsa dosyanın boyutu önemli ölçüde artar. Çünkü her bellek için otomatik pivot önbellekleri oluşur. Zamanla da kararsızlaşır arada boşaltılması gerekir . Verilerinizin yedeklerini almayı unutmayın.
Kolay gelsin.
 

burakturk

Altın Üye
Katılım
12 Şubat 2013
Mesajlar
53
Excel Vers. ve Dili
Türkçe Excel 2019
Altın Üyelik Bitiş Tarihi
16-06-2025
Açıklamanız için çok teşekkür ediyorum.

İyi günler
 
Üst