Mükerrer varsa enson yazılan kalsın diğerleri silinsin

yanginci34

Altın Üye
Katılım
6 Temmuz 2010
Mesajlar
1,627
Excel Vers. ve Dili
excel2016
Altın Üyelik Bitiş Tarihi
12-10-2026
Merhaba arkadaşlar.
mesela; A sütununda aşağı doğru
A1 Erhan
A2 Ahmet
A3 Mehmet
A4 Salih
A5 Metin
Gibi isimler var ben A4 hücresindeki Salih'i A1 hücresine yazdığım zaman A4 hücresinde Salih ismi otomatik silinsin
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,374
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Soruyu netleştirmek gerek. Sadece A1 hücresine mi yazacaksınız, örneğin A5 hücresine yazdığınızda, yazdığınız değer A25 hücresinde varsa A25 hücresi de silinecek mi?
 

yanginci34

Altın Üye
Katılım
6 Temmuz 2010
Mesajlar
1,627
Excel Vers. ve Dili
excel2016
Altın Üyelik Bitiş Tarihi
12-10-2026
Hocam aynen dediğiniz gibi kaçıncı satırda olduğu önemli değil A11 e Erhan yazarsam A1 i silsin
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,374
Excel Vers. ve Dili
Ofis 365 Türkçe
Yine netleştirelim :) Hücre değeri mi silinecek, hücre mi silinecek? Hücre silinecekse kaydırma ne yöne olacak?

Düşündükçe soru artıyor. Kod yazacak arkadaşlara yardımcı olayım dedim.
 

yanginci34

Altın Üye
Katılım
6 Temmuz 2010
Mesajlar
1,627
Excel Vers. ve Dili
excel2016
Altın Üyelik Bitiş Tarihi
12-10-2026
Hocam hücre içini boşaltmak gerek hücre boş bir şekilde kalacak
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,374
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Aşağıdaki kodları ilgili sayfanın kod bölümüne kopyalayıp dener misiniz? Umarım doğru anlamışımdır.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Intersect(Target, [A:A]) Is Nothing Or Target.Value = "" Then Exit Sub
    
    Dim adr As String
    Dim t   As String
    Dim c   As Range
    
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With
    
    With Range("a:a")
        Set c = .Find(Target.Value, LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then
            adr = c.Address
            Do
                If Not c.Address = Target.Address Then
                    If Len(t) = 0 Then
                        t = c.Address
                    Else
                        t = t & "," & c.Address
                    End If
                End If
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> adr
        End If
    End With
    
    If Not t = "" Then Range(t).ClearContents
    
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
    End With
    
End Sub
 

yanginci34

Altın Üye
Katılım
6 Temmuz 2010
Mesajlar
1,627
Excel Vers. ve Dili
excel2016
Altın Üyelik Bitiş Tarihi
12-10-2026
Hocam tam istediğim gibi olmuş elinize sağlık teşekkür ederim.
 
Üst