DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub BenzerSil()
For i = [A65536].End(3).Row To 2 Step -1
If Cells(i, "A") = Cells(i - 1, "A") Then Rows(i).Delete
Next i
End Sub
Merhaba Sayın Necdet Bey,
Eğer veriler sıralı değil ise nasıl bir yol izlememiz gerekir, yada bunun için yazılacak makro nasıl olmalıdır. Teşekkürler..
Burada kaca_kadar değeri ilgili satır sayısını belirtiyor.Sub Ayni_satirlari_sil()
kaca_kadar = 100
For i = 1 To kaca_kadar
For j = 1 To kaca_kadar
If j = i Then
Else
If Range("A" & i) = Range("A" & j) Then Rows(j).Delete
End If
Next j
Next i
End Sub
Sub MÜKERRER_KAYITLARI_SİL()
For X = [A65536].End(3).Row To 1 Step -1
If WorksheetFunction.CountIf(Range("A1:A" & X), Cells(X, "A")) > 1 Then Rows(X).Delete
Next
MsgBox "MÜKERRER KAYITLAR SİLİNMİŞTİR.", vbInformation
End Sub
[LEFT]Sub MÜKERRER_KAYITLARI_SİL()
[IV:IV].ClearContents
[IV1] = "=A1 & B1 & C1 & D1 & E1 & F1 & G1"
[IV1].AutoFill Destination:=Range("IV1:IV" & [A65536].End(3).Row), Type:=xlFillDefault
[IV:IV].Value = [IV:IV].Value
For X = [IV65536].End(3).Row To 1 Step -1
If WorksheetFunction.CountIf(Range("IV1:IV" & X), Cells(X, "IV")) > 1 Then Rows(X).Delete
Next
[IV:IV].ClearContents
MsgBox "MÜKERRER KAYITLAR SİLİNMİŞTİR.", vbInformation
End Sub
Selamlar,
Aşağıdaki kodla verilerin sıralı olması önemli değildir. Sayma işlemi yaparak mükerrer kayıtları siler.
A sütunundaki mükerrer verileri teke indirir.[/LEFT]
Birden fazla sütuna göre mükerrer kayıt kontrolü yaparak kayıtları teke indirir.Kod:Sub MÜKERRER_KAYITLARI_SİL() For X = [A65536].End(3).Row To 1 Step -1 If WorksheetFunction.CountIf(Range("A1:A" & X), Cells(X, "A")) > 1 Then Rows(X).Delete Next MsgBox "MÜKERRER KAYITLAR SİLİNMİŞTİR.", vbInformation End Sub
Kod:[LEFT]Sub MÜKERRER_KAYITLARI_SİL() [IV:IV].ClearContents [IV1] = "=A1 & B1 & C1 & D1 & E1 & F1 & G1" [IV1].AutoFill Destination:=Range("IV1:IV" & [A65536].End(3).Row), Type:=xlFillDefault [IV:IV].Value = [IV:IV].Value For X = [IV65536].End(3).Row To 1 Step -1 If WorksheetFunction.CountIf(Range("IV1:IV" & X), Cells(X, "IV")) > 1 Then Rows(X).Delete Next [IV:IV].ClearContents MsgBox "MÜKERRER KAYITLAR SİLİNMİŞTİR.", vbInformation End Sub
Sub BENZER_KAYITLARI_SİL()
For X = 1 To [A65536].End(3).Row
SAY = WorksheetFunction.CountIf([A:A], Cells(X, 1))
If SAY > 1 Then
Columns(1).Replace What:=Cells(X, 1), Replacement:=""
End If
Next
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
MsgBox "İŞLEMİNİZ TAMAMLANMIŞTIR.", vbInformation
End Sub
Selamlar,
Sn. esmatekel,
İstediğiniz işlem için aşağıdaki kodu kullanabilirsiniz. A sütunundaki benzer kayıtların tamamını siler sadece hiç benzeri olmayan kayıtlar kalır.
Kod:Sub BENZER_KAYITLARI_SİL() For X = 1 To [A65536].End(3).Row SAY = WorksheetFunction.CountIf([A:A], Cells(X, 1)) If SAY > 1 Then Columns(1).Replace What:=Cells(X, 1), Replacement:="" End If Next Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete MsgBox "İŞLEMİNİZ TAMAMLANMIŞTIR.", vbInformation End Sub
Selamlar,
Aşağıdaki kodla verilerin sıralı olması önemli değildir. Sayma işlemi yaparak mükerrer kayıtları siler.
A sütunundaki mükerrer verileri teke indirir.
Sn. Korhan bey,Kod:Sub MÜKERRER_KAYITLARI_SİL() For X = [A65536].End(3).Row To 1 Step -1 If WorksheetFunction.CountIf(Range("A1:A" & X), Cells(X, "A")) > 1 Then Rows(X).Delete Next MsgBox "MÜKERRER KAYITLAR SİLİNMİŞTİR.", vbInformation End Sub
Makro mükemmel çalışıyor. Bir sorum olacak, silme işlemi ile beraber, adetleri de yazdırmak mümkün mü? mesela A kolonuna göre değil de c kolonuna göre süzme ve silme işlemini yaptığında benzer kayıtlardan tek kalan kaydın yanındaki kolona veya 2 kolon sonrasına o kayıttan silme işleminden önce kaçtane olduğunu yazabilir mi? Umarım anlatabilmişimdir.
İlginize teşekkür ederim.
Saygılar.
Range("C" & X).Delete Shift:=xlUp