• DİKKAT

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

Satır Silme Makro

Katılım
2 Ağustos 2006
Mesajlar
19
Merhaba

Ekte bulunan excel dosyasında A,B ve C sütunlarında aynı olan kayıtlardan E(Date) sütunu en güncel olan kayıt hariç diğer kayıtları silmek istiyorum.

yaklaşık 135000 satırdan oluşan bir veri, veriler belli aralıklar ile değişecek.

Bu durumu makro ile nasıl çözebilirim. Yardımcı olabilecek var mı ?
 

Ekli dosyalar

Merhaba,

Yedeğini alarak bu kodu deneyin.

Kod:
Option Explicit
Sub Büyük_Tarih()
Dim a(), b(), d As Object, krt
Dim i As Long, sat As Long, t As Double
t = TimeValue(Now)
Set d = CreateObject("scripting.dictionary")
a = Range("A2:E" & Cells(Rows.Count, 1).End(3).Row)

    For i = 1 To UBound(a)
        krt = a(i, 1) & a(i, 2) & a(i, 3)
        If Not d.exists(krt) Then
            d(krt) = d.Count + 1
        End If
    Next i
    
ReDim b(1 To d.Count, 1 To UBound(a, 2))

    For i = 1 To UBound(a)
        krt = a(i, 1) & a(i, 2) & a(i, 3)
        sat = d(krt)
        b(sat, 1) = a(i, 1)
        b(sat, 2) = a(i, 2)
        b(sat, 3) = a(i, 3)
        If a(i, 5) > b(sat, 5) Then
            b(sat, 4) = a(i, 4)
            b(sat, 5) = a(i, 5)
        End If
    Next i
Range("A2:E" & Cells(Rows.Count, 1).End(3).Row).ClearContents
[A2].Resize(d.Count, UBound(a, 2)) = b
MsgBox "İşlem tamam." & vbLf & vbLf & CDate(TimeValue(Now) - t), vbInformation
End Sub
 
@Ziynettin

Teşekkür ederim. Çok yardımcı oldunuz.

Kodları inceledikten sonra belki bir kaç sorum olabilir vakit bulup cevaplarsanız sevinirim.

Tekrardan teşekkürler.
 
Geri
Üst