- Katılım
- 7 Aralık 2014
- Mesajlar
- 72
- Excel Vers. ve Dili
- Excel 2010 Home and Business / Ingilizce
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.
Bu islemi nasil hizlandirabilirim?
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.
Bu islemi nasil hizlandirabilirim?
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
