Alfabetik Sıralama ve Hücre İçeriğini Temizleme

iplikci_80

Altın Üye
Katılım
29 Kasım 2007
Mesajlar
1,110
Excel Vers. ve Dili
excel 2007
Altın Üyelik Bitiş Tarihi
07-03-2026
Bu çalışmanın kod bölümünde aylara göre puantaj bilgilerini getiren ve D sütununa girilen verileri alfabetik sıralayan kod mevcut. Yapmak istediğim şey alfabetik sıralayan kodu revize ederek D sütunundan veri sildiğimde sildiğim veriye denk gelen D:AJ aralığındaki verilerin temizlenmesin sağlanması hususunda yardımlarınızı rica ediyorum. Örneğin D10 hücresini sildiğimde D10:AJ10 arasındaki hücre içeriklerinin temizlenmesi.
 

Ekli dosyalar

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Var olan kodlarınızda Worksheet Change olayına ait kodu aşağıdakiyle değiştirin.
C++:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("D8:D127, D129:D153")) Is Nothing Then Exit Sub
    CANCEL = True
    Application.ScreenUpdating = False
    '.......................................
    ' ilave edilen satırlar
    Application.EnableEvents = False 
    If Target.Value = "" Then Range("D" & Target.Row, "AJ" & Target.Row).ClearContents 
    Application.EnableEvents = True 
    '......................................
    [D8:AJ127].Sort [D7], 1: [D129:AJ153].Sort [D128], 1
    Application.ScreenUpdating = True
End Sub
 

iplikci_80

Altın Üye
Katılım
29 Kasım 2007
Mesajlar
1,110
Excel Vers. ve Dili
excel 2007
Altın Üyelik Bitiş Tarihi
07-03-2026
Sayın NextLevel ilginize teşekkür ederim. Sıralamanın E sütununa girilen veri girildikten sonra yapılması ve D sütunundan veri sildiğimde sildiğim veriye denk gelen D:AJ aralığındaki verilerin temizlenmesin sağlanması hususunda yardımlarınızı rica ediyorum.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Deneyin lütfen
C++:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("D8:D127, D129:D153")) Is Nothing Then GoTo Devam
    Application.EnableEvents = False
    If Target.Value = "" Then Range("D" & Target.Row, "AJ" & Target.Row).ClearContents
    Application.EnableEvents = True
Devam:
If Intersect(Target, Range("E8:E127, E129:E153")) Is Nothing Then Exit Sub
    CANCEL = True
    Application.ScreenUpdating = False
    [D8:AJ127].Sort [D7], 1: [D129:AJ153].Sort [D128], 1
    Application.ScreenUpdating = True
End Sub
 

iplikci_80

Altın Üye
Katılım
29 Kasım 2007
Mesajlar
1,110
Excel Vers. ve Dili
excel 2007
Altın Üyelik Bitiş Tarihi
07-03-2026
Sayın @NextLevel ilginize çok teşekkür ederim.
 
Üst