İki listeyi karşılaştırıp Tekrarlanan Kayıtları silme
Bu makro, bir (asıl) listeyi başka bir listeyle karşılaştırır ve asıl listede de olan öğeleri ikinci listeden siler. İlk liste, Sayfa1'de A2:A200 aralığındadır. İkinci liste, Sayfa1'de A2:A500 aralığındadır. Makroyu kullanmak için, sayfalardan birini seçin ve makroyu çalıştırın.
- Kod: Tümünü seç
Sub ikilisteTekrarYok()
Dim iListCount As Integer
Dim iCtr As Integer
' Makroyu hızlandırmak için ekran güncelleştirmeyi kapatın.
Application.ScreenUpdating = False
' Aranacak kayıt sayısını alın (silinecek liste).
iListCount = Sheets("Sayfa2").Range("A2:A500").Rows.Count
' "asıl" liste içinde döngü gerçekleştirin.
For Each x In Sheets("Sayfa1").Range("A2:A200")
' İkinci listedeki tüm kayıtlar için döngü gerçekleştirin.
For iCtr = 1 To iListCount
' Sonraki kaydı karşılaştırın.
' Farklı bir sütun belirtmek için, sütun numarasını 1 artırın.
If x.Value = Sheets("Sayfa2").Cells(iCtr, 1).Value Then
' Eşleşme true değerine sahipse satırı silin.
Sheets("Sayfa2").Cells(iCtr, 1).Delete xlShiftUp
' Silinen satırı göz önüne alarak sayacı artırın.
iCtr = iCtr + 1
End If
Next iCtr
Next
Application.ScreenUpdating = True
MsgBox "Tekrarlanan Kayıtlar Silindi!"
End Sub