• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Üstteki Hücreyi Çift Tıklayınca Alt Tarafı Silme Makrosu Düzenleme.. Yardım..

Katılım
20 Aralık 2021
Mesajlar
26
Excel Vers. ve Dili
excel 2007-2010
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, [W1:BA1]) Is Nothing Then Exit Sub
Dim Cevap As Integer
Dim Mesaj As String
Dim Baslik As String
Mesaj = "" & Target.Value & " Tarihli Ekders Verileri Silinsin mi?"
Baslik = "Günlük Ekders Veri Sil"
Cevap = MsgBox(Mesaj, vbYesNo + vbQuestion, Baslik)
If Cevap = vbNo Then End

If Target.Column = 23 Then
Range("=W4:W40").ClearContents
Range("W3").Select

ElseIf Target.Column = 24 Then
Range("X4:X40").ClearContents
Range("X3").Select
..............

Şeklinde Üstteki Hücreyi Çift Tıklayınca Alt Tarafı Silen bir VBA kodum var. Bu kod ile 5 sütunda çalışıyorum. Bunu yaklaşık olarak 30 Sütun ile çalışacağım. Tek tek uğraşmak zor oluyor. Bunu W-BA sütunları arasında TEK KOD ile yapmak istiyorum. Yardımlarınızı Bekliyorum.
 

volki_112

Altın Üye
Katılım
29 Eylül 2023
Mesajlar
833
Excel Vers. ve Dili
2019 Türkçe
Altın Üyelik Bitiş Tarihi
13-12-2029
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, [W1:BA1]) Is Nothing Then Exit Sub
Dim Cevap As Integer
Dim Mesaj As String
Dim Baslik As String
Mesaj = "" & Target.Value & " Tarihli Ekders Verileri Silinsin mi?"
Baslik = "Günlük Ekders Veri Sil"
Cevap = MsgBox(Mesaj, vbYesNo + vbQuestion, Baslik)
If Cevap = vbNo Then End

If Target.Column = 23 Then
Range("=W4:W40").ClearContents
Range("W3").Select

ElseIf Target.Column = 24 Then
Range("X4:X40").ClearContents
Range("X3").Select
..............

Şeklinde Üstteki Hücreyi Çift Tıklayınca Alt Tarafı Silen bir VBA kodum var. Bu kod ile 5 sütunda çalışıyorum. Bunu yaklaşık olarak 30 Sütun ile çalışacağım. Tek tek uğraşmak zor oluyor. Bunu W-BA sütunları arasında TEK KOD ile yapmak istiyorum. Yardımlarınızı Bekliyorum.
kendi kodunuzda uygun yere yerleştirin. W ve BA sütunları arasında çift tıklarsanız tıkladığınız sütunda 4:40 satır arasını siler
Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    ' Çift tıklanan hücre W1 ile BA1 aralığında değilse prosedürü sonlandır
    If Intersect(Target, Me.Range("W1:BA1")) Is Nothing Then Exit Sub

    Dim Cevap As Integer
    Dim Mesaj As String
    Dim Baslik As String
    Dim SilinecekSutun As String

    ' Çift tıklanan sütunun harfini al
    SilinecekSutun = Split(Target.Address, "$")(1)

    Mesaj = "" & Target.Value & " Tarihli Ekders Verileri Silinsin mi?"
    Baslik = "Günlük Ekders Veri Sil"
    Cevap = MsgBox(Mesaj, vbYesNo + vbQuestion, Baslik)

    ' Kullanıcı "Hayır" seçeneğini seçtiyse prosedürü sonlandır
    If Cevap = vbNo Then Exit Sub

    ' Belirlenen sütunun 4 ile 40 arasındaki hücrelerini temizle
    Me.Range(SilinecekSutun & "4:" & SilinecekSutun & "40").ClearContents

    ' Aynı sütunun 3. satırını seç
    Me.Range(SilinecekSutun & "3").Select

    ' Çift tıklama olayının varsayılan davranışını engelle (hücreye girme vb.)
    Cancel = True
End Sub
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
1,226
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Alternatif olsun
Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    
    If Intersect(Target, Range("W1:BA1")) Is Nothing Then Exit Sub
    
    Dim Cevap As Integer
    Dim Mesaj As String
    Dim Baslik As String
    
    Mesaj = "" & Target.Value & " Tarihli Ekders Verileri Silinsin mi?"
    Baslik = "Günlük Ekders Veri Sil"
    Cevap = MsgBox(Mesaj, vbYesNo + vbQuestion, Baslik)
    
    If Cevap = vbNo Then Exit Sub
    
    
    Range(Cells(4, Target.Column), Cells(40, Target.Column)).ClearContents
    Cells(3, Target.Column).Select
  
    Cancel = True
End Sub
Bu kod, W1:BA1 aralığındaki herhangi bir hücreye çift tıkladığınızda o sütunun 4-40 arasındaki verilerini silecektir. 30 sütun için ayrı ayrı kod yazmanıza gerek kalmadan, tek bir kodla tüm aralığı kapsar.
 
Katılım
20 Aralık 2021
Mesajlar
26
Excel Vers. ve Dili
excel 2007-2010
Her iki kod da çalıştı. Teşekkürler.. Çok Kolay Oldu ve İyi Çalışıyor..
 
Üst