Soru Mükerrer Üst Satırlar

leonadies

Excel Derya Deniz Bizde Kulaç Atmaya Çalışıyoruz:)
Altın Üye
Katılım
12 Şubat 2015
Mesajlar
520
Excel Vers. ve Dili
Office 2016 TR 64 Bit Windows
Altın Üyelik Bitiş Tarihi
01-02-2027
Merhaba Arkadaşlar;

Bir makroya ihtiyacım var. A sütununda veri girdikçe üst taraflarda eğer mükerrer veri varsa o satırı komple silsin istiyorum. Mesela bu örnekte A3 satırı silinsin bekliyorum.

Yardımcı olur musunuz?

Mükerre.JPG
 

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Sayfanın kod kısmına aşağıdaki kodu kopyalayın.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Bul As Range
    If Not Intersect(Target, Range("A:A")) Is Nothing Then
        Set Bul = Range("A1:A" & Target.Row - 1).Find(what:=Target.Text, lookat:=xlWhole)
        If Not Bul Is Nothing Then
            Rows(Bul.Row).Delete
        End If
    End If
End Sub
 

leonadies

Excel Derya Deniz Bizde Kulaç Atmaya Çalışıyoruz:)
Altın Üye
Katılım
12 Şubat 2015
Mesajlar
520
Excel Vers. ve Dili
Office 2016 TR 64 Bit Windows
Altın Üyelik Bitiş Tarihi
01-02-2027
@Muzaffer Ali üstadım eline sağlık. Fark etttim ki üstte çok sayıda mükerrer olunca sadece en üsttekini siliyor. Benim arzum her zaman en alttaki kalsın. üstte ne kadar mükerrer satır varsa hepsni silsin.

Yada sorumu bir buton yardımı ile hep en alttaki kalıcak şekle nasıl ceviririz diye değiştireyim.
 
Son düzenleme:

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
O zaman aşağıdaki kodu kullanın.

Kod:
Sub test()
    Dim Bul As Range
    Dim Bak As Long
    For Bak = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1
        Set Bul = Range("A1:A" & Bak - 1).Find(what:=Cells(Bak, "A"), lookat:=xlWhole)
        If Not Bul Is Nothing Then
            Rows(Bul.Row).Delete
        End If
    Next
End Sub
 
Son düzenleme:

leonadies

Excel Derya Deniz Bizde Kulaç Atmaya Çalışıyoruz:)
Altın Üye
Katılım
12 Şubat 2015
Mesajlar
520
Excel Vers. ve Dili
Office 2016 TR 64 Bit Windows
Altın Üyelik Bitiş Tarihi
01-02-2027

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub test()

    Dim bulundu As Boolean, i&, lRow&, ky
    lRow = Cells(Rows.Count, 1).End(3)
    With CreateObject("Scripting.Dictionary")
        For i = lRow To 1 Step -1
            ky = Cells(i, 1).Value
            If .exists(ky) Then
                Cells(i, 1).Value = ""
                bulundu = True
            Else
                .Item(ky) = i
            End If
        Next i
        If bulundu Then Range("A1:A" & lRow).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
    End With

End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Rica ederim. Kolay gelsin.
 
Üst