Application.ScreenUpdating = True Nedir?

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
546
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
30-09-2026
Merhaba hocalarımız

Sorum şudur;

Çok az veriyle normalde 6 saniyede sonucu veren kodun en üstüne eklediğim
Application.ScreenUpdating = False
satırıyla, 0,69 saniyeye düşüyor.

Ve deniyor ki
Kodun en altına da
Application.ScreenUpdating = True
satırını eklenmelidir.

En alta bu satırı eklesem de eklemesem de süre açısından değişen bir şey olmuyor.

Tam olarak ne için ekleniyor en alta
Application.ScreenUpdating = True
satırı?

Teşekkürler.
 
Katılım
24 Nisan 2005
Mesajlar
3,671
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Merhaba hocalarımız

Sorum şudur;

Çok az veriyle normalde 6 saniyede sonucu veren kodun en üstüne eklediğim
Application.ScreenUpdating = False
satırıyla, 0,69 saniyeye düşüyor.

Ve deniyor ki
Kodun en altına da
Application.ScreenUpdating = True
satırını eklenmelidir.

En alta bu satırı eklesem de eklemesem de süre açısından değişen bir şey olmuyor.

Tam olarak ne için ekleniyor en alta
Application.ScreenUpdating = True
satırı?

Teşekkürler.
Application.ScreenUpdating = False
İşlem sırasında ekranı tazemele yapma, yapılanları gösterme gibi.

Application.ScreenUpdating = True da göster anlamında.
True yapılmaz ise ekranda diğer işlemlerde tazeleme yapılmayacaktır.
 

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
546
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
30-09-2026
True yapılmaz ise ekranda diğer işlemlerde tazeleme yapılmayacaktır.
Asri hocam teşekkürler, son kısmı anlayamadım, diğer işlemlerde tazeleme yapmayacaktır derken hangi işlemlerde?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,250
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ofis 2016 sürümde aşağıdaki iki kodu denedim.

İlk başta FALSE olarak ayarlanan değer ikinci makroda otomatik olarak TRUE değerini alıyor.

C++:
Sub Test()
    Application.ScreenUpdating = False
End Sub

Sub Kontrol()
    MsgBox Application.ScreenUpdating
End Sub
Ama kod yazımındaki alışkanlıklardan dolayı makro bitiminde "Application.ScreenUpdating = True" ifadesini ekliyoruz.
 

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
546
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
30-09-2026
O zaman Korhan hocam netice olarak en alta True satırını koymasak da değişen pek bir şey olmuyor anladığım kadarıyla.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,250
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ofis sürümlerinde belki farklı durumlar olabilir. Kendiniz test ederek durumu gözlemleyebilirsiniz.
 
Katılım
24 Nisan 2005
Mesajlar
3,671
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
O zaman Korhan hocam netice olarak en alta True satırını koymasak da değişen pek bir şey olmuyor anladığım kadarıyla.
Ofis 2016 sürümde aşağıdaki iki kodu denedim.

İlk başta FALSE olarak ayarlanan değer ikinci makroda otomatik olarak TRUE değerini alıyor.

C++:
Sub Test()
    Application.ScreenUpdating = False
End Sub

Sub Kontrol()
    MsgBox Application.ScreenUpdating
End Sub
Ama kod yazımındaki alışkanlıklardan dolayı makro bitiminde "Application.ScreenUpdating = True" ifadesini ekliyoruz.

Makro çalışması süresinde true false geçişi yararlı olabilir.
Belki tüm makro işlemleri bittiğinde false -true oluyordur. Denemek lazım.

true işlemini fonksiyonlar arasında geçiş yaparken kullanabiliriz diye düşünüyorum.
Tüm makroların çalışma sürecinde bir sayfada işlem yaparken false yapıp göstermezken diğer sayfada işlem yaparken True yaparak gösterim sağlanabilir.
 
Üst