VBA Ekran Güncelleniyor - Kod Çalıştırma İşlemini Hızlandırma

Excel VBA Ekran Güncelleme

VBA Ekran Güncelleme , kodu çalıştırırken dikkat dağınıklığını önlemek veya önlemek ve Ekran Güncellemeyi kapatarak hızlı hale getirmek için kullanılan bir özelliktir. Bu özelliği yanlış olarak ayarlayarak ekran güncellemesini kapatabiliriz.

Çoğu zaman makro çalışırken excel ekranının çıldırdığını hissedebiliriz ve bu yüzden neredeyse hayal kırıklığına uğrarız. Ama bu durumlarla nasıl başa çıkacağız ve kodun normalden daha hızlı çalışmasını nasıl sağlayacağız?

Ekran Güncelleme, excel makrosu çalışırken fark edebileceğimiz bir şeydir. Görev yürütülürken, ekranımızın makro atanmış görevi bitirene kadar değerleri güncellediğini fark edebiliriz. Ekranımızın titremesi veya yenilenmesi, excel programının yavaşlamasına neden oluyor ve görevi tamamlamak normalden daha uzun sürüyor.

VBA'da "ScreenUpdating" adında bir özelliğimiz var ve bu özelliği FALSE olarak ayarlıyoruz, böylece kod çalışırken ekran güncelleme işlemini ortadan kaldıracak.

Bu yazıda, kod çalışırken ekrandaki aksiyon dramasını izlemeye veda edeceğiz. Bugün, kodunuzun normal zamanınızdan daha hızlı ve daha hızlı çalışmasını sağlayacaksınız.

Ekran Güncelleme Özelliği ne zaman kullanılır?

Bu tekniği ne zaman kullanacağınız konusunda herhangi bir şüpheniz olduğunu varsayalım. Aşağıdaki noktalara bakın.

  • Çok sayıda hücreden geçtiğinizde.
  • Excel VBA'dan e-posta gönderme.
  • Excel çalışma kitapları arasında geçiş yapma.
  • Yeni çalışma kitapları açılıyor.

VBA Kodunda Ekran Güncelleme Özelliği nasıl kullanılır?

Örnek 1 - Ekran Güncellemesini Kapatın

Örneğin, aşağıdaki koda bakın.

Kod:

Sub Screen_Updating () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 For RowCount = 1 To 50 For ColumnCount = 1 ila 50 MyNumber = MyNumber + 1 Hücreleri (RowCount, ColumnCount) Seçin (RowCount, ColumnCount) .Value = MyNumber Sonraki ColumnCount Sonraki RowCount End Sub

Yukarıdaki 50 ilk sütun seri numaraları eklemek için bir iç içe vba döngü sahip inci kolonu ve tekrar tekrar ve 50 ikinci satırdan 51'den başlayarak seri numarası uç gelir inci sütunu.

50 ulaşana kadar bu gibi, ekler inci satırı.

Bu kod çalışırken ekranınızın titrediğini fark edebilirsiniz ve bu çılgın anı izlemekten başka hiçbir şey yapamazsınız.

Tüm bunlardan kaçınmak için Ekran Güncellemeyi YANLIŞ'a ekleyebiliriz.

Önce Ekran Güncelleme özelliğine erişmek için Uygulama nesnesine erişmemiz gerekir.

Application nesnesinden de görebileceğimiz gibi, birçok özelliğimiz ve yöntemimiz var. Bu nedenle, IntelliSense listesinden Ekran Güncelleme'yi seçin.

Not: Değişkenlerin bildiriminden hemen sonra Ekran Güncelleme özelliğini uygulamalısınız.

Ekran Güncelleme özelliğini seçtikten sonra, bir eşittir işareti (=) koyun.

Gördüğümüz gibi, iki Boole değeri, yani YANLIŞ ve DOĞRU.

Ekran güncellemesini durdurmak için durumu FALSE olarak ayarlayın.

Şimdi, makro ilk olarak çalışmaya başladığında, ekran güncelleme durumunu FALSE olarak güncelleyecek ve sonraki satıra geçecektir.

Makro, Ekran Güncellemesi YANLIŞ olarak yürütüldüğünden, kod görevini yerine getirirken ekranın güncellenmesine izin vermez.

Örnek 2 -

Sonunda Ekran Güncellemesini Her Zaman TRUE Olarak Ayarlayın

Birçok kişinin Ekran Güncellemeyi YANLIŞ olarak ayarladığını gördüm, ancak makronun sonunda bunu DOĞRU olarak ayarlamayı unuttum.

Makronun sonunda Ekran Güncellemeyi her zaman GERÇEK olarak ayarlayın.

Kod:

Sub Screen_Updating () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long Application.ScreenUpdating = False MyNumber = 0 For RowCount = 1 ila 50 ColumnCount için = 1 ila 50 MyNumber = MyNumber + 1 Hücreler (RowCount, ColumnCount). (RowCount, ColumnCount) .Value = Sonraki Sütun Numaram Sonraki RowCount Application.ScreenUpdating = True End Sub

Ilginç makaleler...