Ekran Güncellemeyi Kapatın - VBA Kodu Örnekleri

VBA makronuzun ekranı değiştirmesini izlemek ne kadar havalı görünse de, ScreenUpdating'i kapatırsanız (devre dışı bırakırsanız) Makronuzun daha hızlı çalışmasına yardımcı olabilirsiniz.

Ekran Güncellemeyi Devre Dışı Bırak

1. ScreenUpdating'i devre dışı bırakmak için, kodunuzun başına şu satırı koyun:

1 Application.ScreenUpdating = Yanlış

Ekran Güncellemeyi Etkinleştir

2. ScreenUpdating'i yeniden etkinleştirmek için, kodunuzun sonuna şu satırı yazın:

1 Application.ScreenUpdating = Doğru

VBA Ekran Güncelleme Örneği

Prosedürünüz daha sonra şöyle görünecektir:

1234567891011 Alt ScreenUpdating_Example()Application.ScreenUpdating = Yanlış'Bir şey yapAralık("a1").Aralığı Kopyala("b1")Aralık("a2").Aralığı Kopyala("b2")Aralık("a3").Aralığı Kopyala("b3")Application.ScreenUpdating = DoğruAlt Bitiş

Ekran Güncelleme Yenileme

ScreenUpdating'i devre dışı bırakmak, VBA kodunuzun ÇOK daha hızlı çalışmasını sağlar, ancak aynı zamanda çalışmanızın daha profesyonel görünmesini sağlar. Son kullanıcılar genellikle prosedürlerinizin perde arkasını görmek istemezler (özellikle prosedür yavaş çalıştığında). Ayrıca, son kullanıcıların sahne arkası işlevselliğini (ör. Gizli Çalışma Sayfaları) görmesini istemeyebilirsiniz. Neredeyse tüm prosedürlerinizde ScreenUpdating'i devre dışı bırakmanızı (ve yeniden etkinleştirmenizi) öneririm.

Ancak, ekranın yenilenmesini istediğiniz zamanlar vardır. Ekranı yenilemek için ScreenUpdating'i geçici olarak tekrar açmanız gerekecek (ekran "yenile" komutu yoktur):

123 Application.ScreenUpdating = Doğru'Bir şey yapApplication.ScreenUpdating = Yanlış

VBA Ayarları - Hızlandırma Kodu

Kod hızınızı artırmak için oynayabileceğiniz birkaç ayar daha vardır.

Otomatik Hesaplamaları devre dışı bırakmak, hızda BÜYÜK bir fark yaratabilir:

1 Application.Calculation = xlManual

Durum Çubuğunu devre dışı bırakmak da küçük bir fark yaratacaktır:

1 Application.DisplayStatusBar = Yanlış

Çalışma kitabınız olaylar içeriyorsa, genellikle işleminizin başında olayları devre dışı bırakmanız gerekir:

1 Application.EnableEvents = Yanlış

Son olarak, Excel sayfa sonlarını yeniden hesaplamaya çalıştığında VBA kodunuz yavaşlayabilir (Not: tüm prosedürler etkilenmeyecektir). Sayfa sonlarının görüntülenmesini devre dışı bırakmak için bu kod satırını kullanın:

1 ActiveSheet.DisplayPageBreaks = Yanlış

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave