• DİKKAT

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

Mükerrer Verileri Teke Düşürme

Katılım
19 Mart 2012
Mesajlar
19
Excel Vers. ve Dili
2016
Merhabalar

Mükerrer (Veri tekrarlama) ile ilgili sıkıntım vardı aşşağıdaki kod ile halletiğimi sanıyordum.

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

Fakat Farkettimki A stun ile B stununda halen tekrarlanan veriler var. Acaba bu tekrarları nasıl teke düşürebilirim. ( Yani A stununda "Ali" veya "Mehmet" yazıyor diyelim bu isimleri tekrarlayan diğer tüm stunlardan silip teke düşürmesini istiyorum)

Yardımlarınız için şimdiden teşekkürler.
 
Merhaba,
Forumumuza hoşgeldiniz.
Sorunuz tam olarak anlaşılamadı. Satırlar sütunlar karıştı gibi!
Eğer farklı bir şeyi kasdediyorsanız örnek dosya ekler misiniz?

A sütunundaki tekrarlanan verileri silerek teke indiren kod aşağıdadır. (For-Next döngüsü ile yapılan işlemler veri miktarı arttıkça sorunlara yol açaçağından CountIf(Eğersay)fonksiyonu kullanılmıştır.)

Kod:
Sub BenzeriSil()
Sat = [a65536].End(3).Row
For i = Sat To 2 Step -1
    If WorksheetFunction.CountIf(Range(Cells(2, "A"), Cells(Sat, "A")), Cells(i, "A")) > 1 Then
        Rows(i).Delete
    End If
Next i
    MsgBox "Mükerrer Kayıtları Silme İşlemi Tamamlandı. ", vbInformation, "dEdE Kolaylıklar Diler."
End Sub
 
Merhaba dEdE öncelikle yardım için teşekkürler forumda yeni sayılmam:) mesaj yazmaya kısmet olmamıstı.

Evet biraz karışık anlatım yaptım onu şöyle basitleştireyim.

Yukardaki verdiğiniz kod şöyle bir işlem yapıyor. Diyelim "A" stununda 3 adet "B" stununda da 5 adet tekrarlanan "Ali" ismi var. Macroyu uyguladığımda "A" da 1 adet "B" de 1 adet olacak şekilde siliyor. Ama benim istediğim 2 stunda da Toplam 1 adet kalacak şekilde teke düşürmesi.

Umarım anlatabilmişimdir. Tekrar teşekkürler.
 
Merhaba,
Bir de bunu dener misiniz?
Kod:
Sub BenzeriSil()
    Sat = [a65536].End(3).Row
    For i = Sat To 2 Step -1
        If WorksheetFunction.CountIf(Range(Cells(2, "A"), Cells(Sat, "B")), Cells(i, "A")) > 1 Then _
            Cells(i, "A").Delete
        If WorksheetFunction.CountIf(Range(Cells(2, "A"), Cells(Sat, "B")), Cells(i, "B")) > 1 Then _
            Cells(i, "B").Delete
    Next i
    MsgBox "Mükerrer Kayıtları Silme İşlemi Tamamlandı. ", vbInformation, "dEdE Kolaylıklar Diler."
End Sub
 
Teşekkürler dEdE.
45 dk gibi bir süre almasına rağmen sabrettim ve halletti.
Daha kısa sürede olsaydı süper olurdu ama yinede ilgine teşekkürler.
 
merhaba arkadaşlar benzer bir sorunda benim var ama formül çalışmadı.
A sütununda mükerrer verilerim var bu mükerrer kayıtları tüm satırıyla birlikte silip tek bir kayda düşürecek nasıl bir formül lazım acaba sevgiler...


Merhaba,
Bir de bunu dener misiniz?
Kod:
Sub BenzeriSil()
    Sat = [a65536].End(3).Row
    For i = Sat To 2 Step -1
        If WorksheetFunction.CountIf(Range(Cells(2, "A"), Cells(Sat, "B")), Cells(i, "A")) > 1 Then _
            Cells(i, "A").Delete
        If WorksheetFunction.CountIf(Range(Cells(2, "A"), Cells(Sat, "B")), Cells(i, "B")) > 1 Then _
            Cells(i, "B").Delete
    Next i
    MsgBox "Mükerrer Kayıtları Silme İşlemi Tamamlandı. ", vbInformation, "dEdE Kolaylıklar Diler."
End Sub
 
merhaba arkadaşlar benzer bir sorunda benim var ama formül çalışmadı.
A sütununda mükerrer verilerim var bu mükerrer kayıtları tüm satırıyla birlikte silip tek bir kayda düşürecek nasıl bir formül lazım acaba sevgiler...

Veri menüsünden yinelenenleri kaldır seçeneğini kullanabilirsiniz.
 
Zaten tüm satırı siler diye biliyorum. Az önce denedim ve sildi.
 
üstat yanlışın olmasın sadece ilgili sütünü siler. mesela bu şekilde yüz bin veri var. aşağıdaki örnekteki gibi sadece a sütunundaki mükerrer kayıtları dikkate alarak tüm satırı silecek.
A B
erkan 1
erkan 2
yasemin 3
murat 4
erkan 5
 
Yukarda verdiğiniz örneği excelde boş bir sayfada oluşturdum, A sütununda isimler, B sütununda da sayılar oldu.

Veri menüsünden yinelenenleri kaldırı seçtim

Açılan menüde B sütununun işaretini kaldırdım, çünkü mükerrer verilerimiz sadece A sütununda

Tamam tuşuna bastığımda çıkan sonuç şöyle:

A B
erkan 1
yasemin 3
murat 4
 
Merhaba,
2 no.lu mesajda verdiğim kodları denediniz mi?
 
Geri
Üst