Excel yinelenen değerler hk.

Katılım
12 Mart 2017
Mesajlar
7
Excel Vers. ve Dili
Excel 2010 türkçe
Merhaba sayın hocalarım. Bir sorunum var yardımcı olabilirseniz sevinirim

Excel de şöyle bir tablom var.




A--------B
123 3935
123 4828
123 5839
123 4728
124 3848
124 4939
124 1095

Bu tabloda A sütununda yinenlenen değerlerden bazıları 3 tane bazıları 4 veya sadece 2 tane Ben bu yinenlenen değerlerden atıyorum 4 tane yinelenenden son 2 satırı bırakmak istiyorum. Yani tüm yinelenen değerlerde son iki satır kalsın istiyorum. Üsttekiler silinsin. Zaten 2 taneyse dokunmasın.


A--------B
123 5839
123 4728
124 4939
124 1095

Sonuc böyle olsun. A sütununa bakarak yinelenen grupta
Son iki satır kalsın.

Şimdiden çok teşekkür ederim.

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")) > 2 Then Rows(X).Delete
    Next
    MsgBox "MÜKERRER KAYITLAR SİLİNMİŞTİR.", vbInformation
End Sub
Bu kodu buldum işe yaradı fakat tekrarlı gurupdaki son satırları siliyor. ilk satırlar gitsin istiyorum.
 
Son düzenleme:
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Bu şekilde değiştirin (-1) 1 yapın
For X = [A65536].End(3).Row To 1 Step 1
 
Katılım
12 Mart 2017
Mesajlar
7
Excel Vers. ve Dili
Excel 2010 türkçe
Bu şekilde değiştirin (-1) 1 yapın
For X = [For X = [A65536].End(3).Row To 1 Step 1].End(3).Row To 1 Step 1
Cevabınız için çok teşekkür ederim.

Bu şekilde değiştirdim fakat hiçbirşey silmedi. Anladıpım kadarıyla 1 yapınca bir-bir ileri gitmeye çalıştı fakat gidemedi. Çünkü ilk hücre olarak zaten A65536 bu var daha ilerisi yok zannımca.

For X = [A1].End(3).Row To 65536 Step 1

Bunu denedim yine son satırları siliyor. Enteresan
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki gibi deneyin:

Kod:
Sub MÜKERRER_KAYITLARI_SİL()
    son = Cells(Rows.Count, "A").End(3).Row
    For X = son To 1 Step -1
        If WorksheetFunction.CountIf(Range("A" & X & ":A" & son), Cells(X, "A")) > 2 Then Rows(X).Delete
    Next
    MsgBox "MÜKERRER KAYITLAR SİLİNMİŞTİR.", vbInformation
End Sub
 
Katılım
12 Mart 2017
Mesajlar
7
Excel Vers. ve Dili
Excel 2010 türkçe
Aşağıdaki gibi deneyin:

Kod:
Sub MÜKERRER_KAYITLARI_SİL()
    son = Cells(Rows.Count, "A").End(3).Row
    For X = son To 1 Step -1
        If WorksheetFunction.CountIf(Range("A" & X & ":A" & son), Cells(X, "A")) > 2 Then Rows(X).Delete
    Next
    MsgBox "MÜKERRER KAYITLAR SİLİNMİŞTİR.", vbInformation
End Sub
Çok teşekkür ederim hocam. İşe yaradı.

Bu kodu bi açıklayabilrmisiniz kısaca ne yapıyor?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
İlk kodla aynı. Sadece satır silerken önceki satırlara değil kendisinden sonraki satırlara bakıyor. En son olan 2 satırın kalmasını, daha yukarda olanların silinmesini istediğiniz için kendisinden sonra aynı koddan 2 tane olan satırı siliyor.
 

yenilik025

Altın Üye
Katılım
28 Eylül 2005
Mesajlar
233
Excel Vers. ve Dili
2007
Altın Üyelik Bitiş Tarihi
23-06-2027
Aşağıdaki gibi deneyin:

Kod:
Sub MÜKERRER_KAYITLARI_SİL()
    son = Cells(Rows.Count, "A").End(3).Row
    For X = son To 1 Step -1
        If WorksheetFunction.CountIf(Range("A" & X & ":A" & son), Cells(X, "A")) > 2 Then Rows(X).Delete
    Next
    MsgBox "MÜKERRER KAYITLAR SİLİNMİŞTİR.", vbInformation
End Sub
Hocam merhabalar bende bunun herhangi bir silme ya da renklendirme yapmadan mesaj olarak vermesini istiyorum ancak burada da
C5 : T500 Arasında çalışmasını istiyorum kodun nasıl yapabilirim ? Nasıl değiştirmeliyim.

Aşağıdaki kodu
sonsatir = Sheets("Sınav Programı").Range("B500").End(3).Row
For i = 1 To sonsatir
If WorksheetFunction.CountIf(Range("B5:B" & i), Range("C" & i).Value) > 1 Then
MsgBox "Mükerrer Kayıt Var!" & " " & Range("B" & i).Row & ".satır"
Exit Sub
End If
Next i
ActiveCell.Select
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek dosya paylaşırsanız yardım almanız kolaylaşır.
 
Üst