Yinelenen Satırları Silme

Katılım
1 Haziran 2009
Mesajlar
6
Excel Vers. ve Dili
xp
Arkadaşlar;

Bir sütunda yinelenen birden çok değer varsa, bu sütundaki yinelenen değerlerden sadece bir tanesini muhafaza etmesini istiyorum fakat bu değeri tutarken aynı satırdaki bilgileride kaybetmemesini istiyorum.

YAni bir sutnda yinenlenen değer varsa bunlardan sadece birtanesini satırıyla beraber olduğu gibi braksın, diğerlerini satırlarıyla beraber silsin...

emeklerinize teşekkürler


(birde benim elimde birhayli excell döküman var, bunları size nasıl ulaştırım ve sizlerin insanların faydasına nnasıl tekrar sunarız, yardımcu olursanız sevinirim )
 
Katılım
10 Nisan 2008
Mesajlar
578
Excel Vers. ve Dili
2000,2003,2007
Merhaba,

Sitede mükerrer kontrol ile ilgili bir çok örnek dosya var.Soru sormadan öncesinde lütfen arama yapın.
 
Katılım
1 Haziran 2009
Mesajlar
6
Excel Vers. ve Dili
xp
1. isteğim ) bir sutnda yinenlenen değer varsa bunlardan sadece birtanesini satırıyla beraber olduğu gibi braksın, diğerlerini satırlarıyla beraber silsin... (bunla ilgili bir kod yardımı istiyorum)


1. isteğim ) elimdeki arşivimi size nasıl ulaştırırım, bunları tekrar insanların hizmetine nasıl sunarım



saollun kolay gelsin
 
Katılım
1 Haziran 2009
Mesajlar
6
Excel Vers. ve Dili
xp
eğer bu sütunda "b" değerinden 10 tane varsa 9 tanesini satırlrıyla beraber silecek

eğer bu sütunda "b" değerinden 10 tane varsa 9 tanesini satırlrıyla beraber silecek
(Yani bir sütun da benzer değerlerden birtanesi kalacak, diğerleri satırlarıyla beraber silinecek)

Arkaşlar örnek bir dosya gönderiyorum Yardımlarınız için teşekkürler
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Dosyanızı 2003 formatında yollarsanız daha çabuk cevap alabilirsiniz.Hekesde 2007 yok.:cool:
 

Ali

Özel Üye
Katılım
21 Temmuz 2005
Mesajlar
7,953
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
2007 kullanıyorsanız veri içeren tüm aralığını mouse ile seçin Veri Sekmesinde -Yinelenlenleri kaldırı ve oradan istenilen sütunu seçin,böylece benzersiz yeni listeniz olmuş olacaktır.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Kodlar aşağıda :cool:
Kod:
Sub teke_indir()
Dim i As Long
Sheets("Sayfa1").Select
For i = Cells(65536, "B").End(xlUp).Row To 5 Step -1
    If WorksheetFunction.CountIf(Range("B" & i & ":B4"), Cells(i, "B").Value) > 1 Then
        Range("B" & i).EntireRow.Delete (xlUp)
    End If
Next i
MsgBox "Mükerrer kayıtlar silinmiştir."
End Sub
 
Katılım
1 Haziran 2009
Mesajlar
6
Excel Vers. ve Dili
xp
Çok teşekkür ederim

Yazılım süper bir buluş
onu kullananlar süperler

İyiki varsınız...
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,653
Excel Vers. ve Dili
Pro Plus 2021
Alternatif bir kod.
Kod:
Sub tekrarEdenSatirlariSil()
    'veyselemre
    Dim rSil As Range, huc As Range, col As New Collection
    On Error Resume Next
    For Each huc In Range([b4], [b4].End(xlDown))
        col.Add huc.Value, huc.Value
        If Err > 0 Then
            Err = 0
            If rSil Is Nothing Then
                Set rSil = huc
            Else
                Set rSil = Union(rSil, huc)
            End If
        End If
    Next
    On Error GoTo 0
    If Not rSil Is Nothing Then rSil.EntireRow.Delete
    Set col = Nothing
    Set rSil = Nothing
    Set huc = Nothing
End Sub
 
Katılım
19 Ocak 2005
Mesajlar
940
Excel Vers. ve Dili
İŞ : Microsoft Office Excel 2003
EV : Microsoft Office Excel 2003
Hayırlı Sabahlar Arkadaşlar

Konuya benzer bir sorum olacak;

alt alta B ve C sütunlarında Örneğin

B6 hücresindeki değer 2009 C6 Hücresindeki Değer 1231
B7 hücresindeki değer 2009 C7 Hücresindeki Değer 1231
B8 hücresindeki değer 2009 C8 Hücresindeki Değer 1231

elimde yaklaşık 9000 satır var Bu durumdaki satırları teke düşürmek için bir macro önerebilirmisiniz
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,007
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Veyselemre Beyin kodlarını aşağıdaki gibi revize edip kullanabilirsiniz.

Kod:
Sub Tekrar_Edenleri_Sil()
    Dim Veri As Range, Son As Long
    Dim Liste As New Collection, Alan As Range
    
    Son = Cells(Rows.Count, 2).End(3).Row
    
    On Error Resume Next
    
    For Each Veri In Range("B6:B" & Son)
        If Veri.Value <> "" Then
            Liste.Add Veri.Value & Veri.Offset(0, 1).Value, Veri.Value & Veri.Offset(0, 1).Value
            If Err > 0 Then
                Err = 0
                If Alan Is Nothing Then
                    Set Alan = Union(Veri, Veri.Offset(0, 1))
                Else
                    Set Alan = Union(Alan, Veri, Veri.Offset(0, 1))
                End If
            End If
        End If
    Next
    
    On Error GoTo 0
    
    If Not Alan Is Nothing Then Alan.Delete xlUp
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Katılım
16 Ekim 2005
Mesajlar
91
Excel Vers. ve Dili
İşletim Sistemi Windows 7
Excel 2010-Türkçe
Altın Üyelik Bitiş Tarihi
24-11-2024
Selam, benimde benzer bir sorunum var ancak benim durumumda ben sadece yinelenen değerleri silmek benzersiz bir tane bırakmak istiyorum. Yani yinelenen satır silinmesin hücresi boş kalsın. Elimde 160 bin satırlık bir tablo var ve bunu bir türlü beceremedim.
Örnek dosya ekledim.

http://s4.dosya.tc/server3/8qdvbm/ORNEK.xlsx.html

Dosyam için bir resimde yükledim.

http://i.hizliresim.com/0y9Lm8.jpg

Yardımcı olabilecek arkadaşlara şimdiden çok teşekkür ederim.

NOT: Bu işlemi topluca değil her sütunu ayrı olarak da yapabilsem işimi görür. Yani A sütunundaki yinelenenleri kaldırıp aradaki boşlukları bıraksam yinede benim işimi görür diye düşünüyorum.
 

Ekli dosyalar

Son düzenleme:

Ziynettin

Destek Ekibi
Destek Ekibi
Katılım
18 Nisan 2008
Mesajlar
1,122
Excel Vers. ve Dili
office2010
Dosya ekte

Kod:
Option Explicit
Sub Tablo()
Dim a(), b(), d As Object
Dim i As Long, Say As Long, y As Byte

Sheets("Sayfa1").Select
Application.ScreenUpdating = False

Set d = CreateObject("Scripting.Dictionary")
a = Range("A4:C22")
ReDim b(1 To UBound(a), 1 To 3)
    For i = 1 To UBound(a)
        For y = 1 To 3
            If Not d.exists(a(i, y)) Then
                Say = Say + 1
                d.Add a(i, y), Say
                b(i, y) = a(i, y)
            End If
        Next y
    Next i
    
Range("I4:K" & Rows.Count).ClearContents

If Say > 0 Then
    Range("I4").Resize(UBound(a), 3) = b
End If

Application.ScreenUpdating = True
MsgBox "İşleminiz tamam.", vbInformation
End Sub
 

Ekli dosyalar

Katılım
16 Ekim 2005
Mesajlar
91
Excel Vers. ve Dili
İşletim Sistemi Windows 7
Excel 2010-Türkçe
Altın Üyelik Bitiş Tarihi
24-11-2024
Çok teşekkür ederim sayın Ziynettin. Makronuz bana ışık tuttu tüm çalışma sayfasına (160 bin satıra) uyarladım.
Tekrar tekrar teşekkürler.
 
Katılım
23 Temmuz 2009
Mesajlar
37
Excel Vers. ve Dili
2010 Türkçe
Merhabalar

Benimde bir yinelenenleri teke düşürmek istediğim listem var,
B sütunundaki verilere göre mükerrer olnları tek kayda indirmem gerekiyor.
buradaki tüm formülleri denedim dosyama uyduramadım. İlk 22 satırı bırakıyor diğerlerinin tamamını siliyor.
dosyam ektedir yardımcı olabilir misiniz?
dosyada kayıt sayısı az, normalde 20 bin kaydı silmem gerekiyor
 

Ekli dosyalar

Ziynettin

Destek Ekibi
Destek Ekibi
Katılım
18 Nisan 2008
Mesajlar
1,122
Excel Vers. ve Dili
office2010
Merhaba,

Dosyanız ekte,


Kod:
Option Explicit
Sub Benzersiz_B()
Dim a(), b(), d As Object, z As Double
Dim i As Long, Say As Long, k As Byte
z = TimeValue(Now)
Application.ScreenUpdating = False
Sheets("sayfa1").Select
    Set d = CreateObject("Scripting.Dictionary")
    a = Range("A1:P" & [a65000].End(xlUp).Row)
    For i = 1 To UBound(a)
        If Not d.exists(a(i, 2)) Then
            Say = Say + 1
            d(a(i, 2)) = Say
        End If
    Next i
  
    ReDim b(1 To d.Count, 1 To UBound(a, 2))
    For i = 1 To UBound(a)
        For k = 1 To UBound(a, 2)
            b(d(a(i, 2)), k) = a(i, k)
        Next k
    Next i
    
With Sheets("Sayfa2")
    .Cells.ClearContents
    .[A1].Resize(UBound(b), UBound(b, 2)) = b
    .[A2].Resize(UBound(b)).NumberFormat = "dd.mm.yyyy"
    .[L2].Resize(UBound(b)).NumberFormat = "dd.mm.yyyy"
    .[P2].Resize(UBound(b)).NumberFormat = "dd.mm.yyyy"
    .Select
End With
Application.ScreenUpdating = True
MsgBox "İşlem TAMAM....!!!" & vbLf & vbLf & "       " & CDate(TimeValue(Now) - z), vbInformation
End Sub
 

Ekli dosyalar

Katılım
23 Temmuz 2009
Mesajlar
37
Excel Vers. ve Dili
2010 Türkçe
Çok teşekkür ederim elinize sağlık,
 
Üst