Aynı Verilerin bulunduğu satırları silme.

Katılım
9 Şubat 2010
Mesajlar
103
Excel Vers. ve Dili
exel 2002
Arkadaşlar Merhabalar

Konuyla ilgili yardımlarınızı rica ediyorum.Elimde 20.000 veri bulunan bir excel listesi var.Bu listde örnekte görebileceğiniz üzere PARÇA KODU tekrar eden hücreler var tekrarlarını silmek istiyorum.Deneme adı altında bir liste ekliyorum.Lütfen yardımcı olurmusunuz.3 gündür tek tek silmeyle uğraşıyorum ama bir arpa boyu yol alamadım.Biraz siteyi araştırdım bununla ilgili birkaç yöntem gördüm makraodan pek anlamıyorum.Başka bir şekilde bunu nasıl silebilirim.Şimdiden teşekkür ediyorum.
 

Ekli dosyalar

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,218
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
yanıt

Kod:
Sub tekrarlarisil()
Dim sat As Integer
Application.ScreenUpdating = False
    For sat = Cells(65536, "a").End(xlUp).Row To 2 Step -1
        If WorksheetFunction.CountIf(Range("a2:a" & sat), Cells(sat, "a")) > 1 Then
            Cells(sat, "a").EntireRow.Delete
        End If
    Next
Application.ScreenUpdating = True
End Sub
 
Katılım
9 Şubat 2010
Mesajlar
103
Excel Vers. ve Dili
exel 2002
Kod:
Sub tekrarlarisil()
Dim sat As Integer
Application.ScreenUpdating = False
    For sat = Cells(65536, "a").End(xlUp).Row To 2 Step -1
        If WorksheetFunction.CountIf(Range("a2:a" & sat), Cells(sat, "a")) > 1 Then
            Cells(sat, "a").EntireRow.Delete
        End If
    Next
Application.ScreenUpdating = True
End Sub
Çok teşekkür ederim verdiğiniz bilgi için ancak makrodan çok anlamamakla birlikte bir deneme yaptım oldu gibi.Yalnız ben birşey söylemeyi unutmuşum.PRÇA KODU AYNI olanlardan ALMANCASI kısmı boş olanları silmek istiyorum.Yani böyle bir şart koyabilirmiyiz.PARÇA KODU aynı verilmiş birinde ALMANCA ismi var birinde yok.Ben karşısında ALMANCA olmayanı silmek istiyorum.
 
Son düzenleme:

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,218
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
yanıt

Bu şekil, deneyiniz.
Kod:
Sub tekrarlarisil()
Dim sat As Integer
Application.ScreenUpdating = False
    For sat = Cells(65536, "a").End(xlUp).Row To 2 Step -1
        If WorksheetFunction.CountIf(Range("a2:a" & sat), Cells(sat, "a")) > 1 _
        And Cells(sat, "b") = "" Then
            Cells(sat, "a").EntireRow.Delete
        End If
    Next
Application.ScreenUpdating = True
End Sub
 
Katılım
9 Şubat 2010
Mesajlar
103
Excel Vers. ve Dili
exel 2002
Sevgili Niyazi,

Bunu denedim silme işlemini gerçekleştirmedi.İlk verdiğin kodlarla oluşturduğum makro silmişti ancak sonradan açıkladığım gibi karşısı boş olan hücrelerin silinmesini istiyordum.Örneğin A sütununda aynı olanların sadece D sütunu boş olanlar silinmesi gerek.Yukarda kodlarda 'b' diye vermiş olduğun harfin yerine ben 'd' koyup yapmıştım.Ondan olabilirmi acaba?
 
Katılım
9 Şubat 2010
Mesajlar
103
Excel Vers. ve Dili
exel 2002
Arkadaşlar daha önce aştığım bu konuyla alakalı olarak şimdi ekleyeceğim bir örnek liste üzerinde yardımlarınızı rica ediyorum.Yukardaki makroyu uyarlamaya çalıştım ancak başarısız oldum:yardımlarınızı bekliyorum.Örnek dosyada ne yapmak istediğimi anlattım.
 

Ekli dosyalar

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,505
Excel Vers. ve Dili
Ofis 365 Türkçe
Arkadaşlar daha önce aştığım bu konuyla alakalı olarak şimdi ekleyeceğim bir örnek liste üzerinde yardımlarınızı rica ediyorum.Yukardaki makroyu uyarlamaya çalıştım ancak başarısız oldum:yardımlarınızı bekliyorum.Örnek dosyada ne yapmak istediğimi anlattım.

Merhaba,

İmzanızdan 2010 sürüm xl kullandığnız belli oluyor.

Bu sürümde (2007 ve üzeri) zaten çift kayıtları eleme seçeneği var, onu kullanabilirsiniz.

Veri sekmesinde "Yinelenenleri Kaldır"ı seçin ve devam edin.
 
Katılım
9 Şubat 2010
Mesajlar
103
Excel Vers. ve Dili
exel 2002
Merhaba,

İmzanızdan 2010 sürüm xl kullandığnız belli oluyor.

Bu sürümde (2007 ve üzeri) zaten çift kayıtları eleme seçeneği var, onu kullanabilirsiniz.

Veri sekmesinde "Yinelenenleri Kaldır"ı seçin ve devam edin.
Merhaba

Benim Office 2003.Dediğinize baktım ama öyle bir seçenek yok.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,505
Excel Vers. ve Dili
Ofis 365 Türkçe
Arkadaşlar daha önce aştığım bu konuyla alakalı olarak şimdi ekleyeceğim bir örnek liste üzerinde yardımlarınızı rica ediyorum.Yukardaki makroyu uyarlamaya çalıştım ancak başarısız oldum:yardımlarınızı bekliyorum.Örnek dosyada ne yapmak istediğimi anlattım.

Merhaba,

Sayın Hiçdurmaz'ın kodlarını rahatlıkla kullanabilirsiniz. Kırmızı ile yapılan değişikliği yapmak gerek.

Kod:
Sub tekrarlarisil()
Dim sat As Integer
Application.ScreenUpdating = False
    For sat = Cells(65536, "a").End(xlUp).Row To 2 Step -1
        If WorksheetFunction.CountIf(Range("a2:a" & sat), Cells(sat, "a")) > 1 _
        And Cells(sat, "[B][COLOR=red]D[/COLOR][/B]") = "" Then
            Cells(sat, "a").EntireRow.Delete
        End If
    Next
Application.ScreenUpdating = True
End Sub
 

Ekli dosyalar

Katılım
9 Şubat 2010
Mesajlar
103
Excel Vers. ve Dili
exel 2002
Merhaba,

Sayın Hiçdurmaz'ın kodlarını rahatlıkla kullanabilirsiniz. Kırmızı ile yapılan değişikliği yapmak gerek.

Kod:
Sub tekrarlarisil()
Dim sat As Integer
Application.ScreenUpdating = False
    For sat = Cells(65536, "a").End(xlUp).Row To 2 Step -1
        If WorksheetFunction.CountIf(Range("a2:a" & sat), Cells(sat, "a")) > 1 _
        And Cells(sat, "[B][COLOR=red]D[/COLOR][/B]") = "" Then
            Cells(sat, "a").EntireRow.Delete
        End If
    Next
Application.ScreenUpdating = True
End Sub
Sayın Necdet Bey,

4.mesajımdaki ekteki örnek listeye uyguluyorum bu vermiş olduğunuz makroyu ama birtürlü silmiyor.20.000 adetlik bir liste,acaba liste kalabalık olduğu içinmidir yoksa uygulamadamı bir hatam var.Makrolarla ilgili çok bir bilgim yok ama şu şekilde uyguluyorum excel listeyi açıyorum,Araçlar-Makro-Visual Basic Düzenleyiciden Sayfa 1 yazan yere tıklayıp bu vermiş olduğunuz codeları oraya yapıştırıyorum.Sonra kaydedip Run/sub a tıklıyorum.Ama bir türlü silmiyor.Yapmak istediğimi tam olarak anlatabildimmi acaba listede A stünunda aynı olanları,D stünunda karşılığı olmayanları silmesini istiyorum.4.mesajımda listede anlatmıştım.Çok önemli lütfen yardımcı olursanız çok sevinirim.
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,557
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Sayın Yeşertener'in dediği gibi , sayın Hiçdurmaz'ın kodları D eklentisiyle rahat çalışıyor. Sizin karşılaştığınız temizlememe durumuyla ben de karşılaştım ve şu şekilde (örneğinizde) çözdüm:
Filtreyi kullanarak sadece boş olanları tabloya sıralattım ve D sütunundaki hücrelerin tamamını seçerek delete'e bastım. Bu şekilde tablo burada veri olmadığını kabul etmiş oldu. Sonra filtreyi açarak hepsini göstermesini seçtim ve kodu çalıştırdım, sorunsuz olarak D si boş olan ve 1den fazla aynı olan satırları sildi . Örneğiniz tekrar ekte ...
 

Ekli dosyalar

Son düzenleme:
Katılım
9 Şubat 2010
Mesajlar
103
Excel Vers. ve Dili
exel 2002
Sayın Yeşertener'in dediği gibi , sayın Hiçdurmaz'ın kodları D eklentisiyle rahat çalışıyor. Sizin karşılaştığınız temizlememe durumuyla ben de karşılaştım ve şu şekilde (örneğinizde) çözdüm:
Filtreyi kullanarak sadece boş olanları tabloya sıralattım ve D sütunundaki hücrelerin tamamını seçerek delete'e bastım. Bu şekilde tablo burada veri olmadığını kabul etmiş oldu. Sonra filtreyi açarak hepsini göstermesini seçtim ve kodu çalıştırdım, sorunsuz olarak D si boş olan ve 1den fazla aynı olan satırları sildi . Örneğiniz tekrar ekte ...
Sayın cems,

Size,Sn.Yeşertener ve Sn.Hiçdurmaza çok teşekkür ederim.Bu son söylediğinizi yaptım ve oldu.Herkese çok teşekkürler büyük bir sıkıntıdan kırtardınız beni.Saygılar
 
Üst