• DİKKAT

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

Bu kodlarımı daha hızlı nasıl çalıştırabilirim.

Katılım
14 Ocak 2005
Mesajlar
807
Excel Vers. ve Dili
Microsoft Office Professional Plus 2021
Selam arkadaşlar, Excel projemde kullanmış olduğum aşağıdaki kodları çok daha hızlı nasıl kullanabilirim. Önceleri pek sorun olmuyordu şimdi veriler arttıkça biraz hali ile yavaşlıyor. Başka bir metodu var mı hızlandırmanın.

Rica etsem.

Kod:
' LİST BOX A VERİLERİ AKTARIR
 
Worksheets("RAPOR").Select
Cells.ClearContents
Worksheets("Veri").Select
Range("a1").Select
Selection.AutoFilter
Selection.End(xlToRight).Select
Selection.AutoFilter Field:=3, Criteria1:="=" & (TextBox1.Value)
sayim = Worksheets("Veri").Range("A1").CurrentRegion.Rows.Count
Range("A1:J" & sayim).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Worksheets("RAPOR").Select
    Range("a1").Select
    ActiveSheet.Paste
    Range("a1").Select
    Worksheets("Veri").Select
    Range("a1").Select
    Selection.AutoFilter
    Worksheets("RAPOR").Select
    
    If Range("A2").Value = "" Then
Range("A2:J65536").Select
 Selection.EntireRow.Delete
 GoTo devam
 
Else
devam:
    
    
b = Worksheets("RAPOR").Range("A65536").End(xlUp).Row
ListBox1.RowSource = "RAPOR!a2:J" & b
Worksheets("Veri").Select
ListBox1.MultiSelect = fmMultiSelectMulti
'TEX_TARIH.SetFocus
End If
 
örnek dosya eklerseniz bakalım.
 
Merhaba,

Kod tasarlarken mümkün mertebe SELECT komutunu kullanmayın. Bu kodların yavaş çalışmasına sebep olacaktır.

Aşağıdaki şekilde denermisiniz.

Kod:
Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Worksheets("RAPOR").Cells.ClearContents
    With Worksheets("Veri")
        .Range("A1").AutoFilter Field:=3, Criteria1:="=" & (TextBox1.Value)
        sayim = .Range("A1").CurrentRegion.Rows.Count
        .Range("A1:J" & sayim).Copy Worksheets("RAPOR").Range("a1")
        .Range("A1").AutoFilter
    End With
        
    If Range("A2").Value = "" Then
        Range("A2:J65536").EntireRow.Delete
        GoTo devam
    Else
devam:
    b = Worksheets("RAPOR").Range("A65536").End(xlUp).Row
    ListBox1.RowSource = "RAPOR!a2:J" & b
    ListBox1.MultiSelect = fmMultiSelectMulti
    End If
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
End Sub
 
Geri
Üst