• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

ScreenUpdating=False Ise Yaramiyor

Katılım
7 Aralık 2014
Mesajlar
72
Excel Vers. ve Dili
Excel 2010 Home and Business / Ingilizce
Aslinda bu sorumu, makroyu nasil hizlandirabilirim adinda asagidaki linkte sormustum ancak bu baslik altinda sormanin baskalarina da referans olmasi acisindan uygun oldugunu dusundum umarim sayfa yonetimi acisindan bir sakincasi yoktur.
http://www.excel.web.tr/f48/application-sendkeys-macromu-nasil-hizlandirabilirim-t165076.html#post899550

Asagida goreceginiz macro, VeriTabani sayfamdaki tabloda C kolonuna gelip, oradaki Filtreden / Ozel Filtre / Iceriyor ve Iceriyor filtresini aciyor. (Custom Filters / Contains and Contains)

Yalniz Application ozelliklerini baslangicta devre disi birakmama ragmen sanki de ScreenUpdating devre disi birakilmamis gibi adim adim nelerin calistigini gorebiliyorum ve nihayetinde cok yavas calisiyor. (Yaklasik 6-7 saniye.)

Tablom 8000 satirlik bir tablo ancak bu basit islemi 7 saniyede tamamlatacak kadar sorun oldugunu dusunmuyorum.

Application. ozelliklerini devre disi birakmama ragmen nasil oluyor da ekrandaki islemleri gormeye devam edebiliyorum? Sorunun SendKeys methodundan kaynaklandigindan supheleniyorum ama neden? Nasil duzeltebilirim?

Kod:
Sub showContains()
Dim ws1 As Worksheet, LastRowsOfTable As Long

    With Application
 .ScreenUpdating = False
 .Calculation = xlCalculationManual
 .EnableEvents = False
 .Cursor = xlWait
    End With

Set ws1 = Sheet1
ws1.Activate
ws1.Range("C1").Select       ' <-- Filtre C1'de basladigi icin orayi seciyorum.
LastRowsOfTable = ws1.Cells(Rows.Count, "F").End(xlUp).Row
ActiveWindow.ScrollRow = LastRowsOfTable - 25
        Application.SendKeys "%{DOWN}fa{Tab}{Tab}C{Tab}"

'Select C1 => click ALT+Down Arrow => text filters => contains => and contains

 With Application
     .ScreenUpdating = True
     .Calculation = xlCalculationAutomatic
     .EnableEvents = True
     .Cursor = xlDefault
         End With
    End Sub
 
Geri
Üst