assenucler
Altın Üye
- Katılım
- 19 Ağustos 2004
- Mesajlar
- 3,552
- Excel Vers. ve Dili
- Ofis 365 TR 64 Windows 11 Home Single Language x64 TR
- Altın Üyelik Bitiş Tarihi
- 29-05-2025
Değerli Dostlar,
Ev harcamalarını izlediğim ve aşağıdaki resimde görülen başlıkları içeren (A2:O1800) bir veri tabanım var.
İlk satırdaki sütunlarının her birinde (Veri / Sırala ve Filtre Uygulama /) Filtre yaptığımda ya da Filtre’yi kaldırmak istediğimde (şu an 752 kayıt için) işlem süresi 17 saniye sürmektedir.
Bu süreyi düşürmek için yardımınızı bekliyorum.
Saygılarımla,
Selim
Ev harcamalarını izlediğim ve aşağıdaki resimde görülen başlıkları içeren (A2:O1800) bir veri tabanım var.
İlk satırdaki sütunlarının her birinde (Veri / Sırala ve Filtre Uygulama /) Filtre yaptığımda ya da Filtre’yi kaldırmak istediğimde (şu an 752 kayıt için) işlem süresi 17 saniye sürmektedir.
Bu süreyi düşürmek için yardımınızı bekliyorum.
Saygılarımla,
Selim
Kod:
Option Explicit
Sub Test()
Dim Zmn, Rng, Renk, Dizi
Application.ScreenUpdating = False
Application.Calculation = xlManual
ActiveSheet.AutoFilterMode = False
Zmn = Timer
Set Rng = Range(Cells(2, 26), Cells(Cells(Rows.Count, 1).End(3).Row, 26))
Range("X2:X10000").ClearContents '
Range(Cells(2, 1), Cells(Cells(Rows.Count, 1).End(3).Row, 12)).Interior.Color = xlNone
Rng.FormulaR1C1 = "=CONCAT(RC[-25]:RC[-14])"
Rng.Value = Rng.Value
Set Dizi = CreateObject("Scripting.Dictionary")
For Each Renk In Rng
If Renk <> "" Then
Dizi(Renk.Value) = Dizi(Renk.Value) + 1
End If
Next
For Each Renk In Rng
If Dizi(Renk.Value) > 1 Then
Range(Cells(Renk.Row, 1), Cells(Renk.Row, 12)).Interior.Color = vbGreen
Cells(Renk.Row, 24) = "ÇİFT KAYIT"
End If
Next
Rng.ClearContents
Range(Cells(1, 24), Cells(Cells(Rows.Count, 24).End(3).Row, 24)).AutoFilter Field:=1, Criteria1:="ÇİFT KAYIT"
Application.Calculation = xlAutomatic
Application.ScreenUpdating = True
MsgBox "Isleminiz tamam suresi " & Format(Timer - Zmn, "0.00") & " Saniye"
End Sub
Ekli dosyalar
-
39.7 KB Görüntüleme: 9