Gruplu Seçenek Düğmelerine (Form Denetimi) Bağlı Hücre İçeriği Değiştiğinde Makro Çalıştırma

Katılım
20 Aralık 2021
Mesajlar
23
Excel Vers. ve Dili
excel 2007-2010
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [D2:E18]) Is Nothing Then Exit Sub
Range("B20:B21").ClearContents
Range("C14").ClearContents
Range("AL18").ClearContents
End Sub

Yukarıdaki Makroda D2:E18 aralığında herhangi bir hücre değeri elle değiştiğinde yada Açılır listeden seçildiğinde Alt kısımdaki silme makrom çalışıyor.
Ancak bu aralıktaki hücreler Gruplu Seçenek Düğmelerine (Form Denetimi), o düğmelerdeki değişkenlerde başka hücrelerde ELEMAN formülüne bağlanmış durumda.
Sonuç olarak Seçenek Düğmelerinde değişiklik yaptığımda hücreler içinde Eleman sayılarında (1,2,3… gibi) değişiklik olduğu halde yukarıdaki Makroyu çalıştırmıyor.
Yani Form Denetime bağlanan hücrenin içeriği değiştiğinde de bu makronun çalışmasını istiyorum ve bir çözümü olduğunu düşünüyorum. Yardımlarınızı Bekliyorum.
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
745
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Deneyiniz,

C++:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("D2:E18")) Is Nothing Then
         HedefHucreTemizle
    End If
End Sub

Private Sub Worksheet_Calculate()
    Dim cell As Range
    For Each cell In Me.Range("D2:E18")
        If cell.Value <> cell.Cells(1, 1).Value Then
             HedefHucreTemizle
            Exit For
        End If
    Next cell
End Sub

Private Sub  HedefHucreTemizle()
    Me.Range("B20:B21").ClearContents
    Me.Range("C14").ClearContents
    Me.Range("AL18").ClearContents
End Sub
 
Katılım
20 Aralık 2021
Mesajlar
23
Excel Vers. ve Dili
excel 2007-2010
Deneyiniz,

C++:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("D2:E18")) Is Nothing Then
         HedefHucreTemizle
    End If
End Sub

Private Sub Worksheet_Calculate()
    Dim cell As Range
    For Each cell In Me.Range("D2:E18")
        If cell.Value <> cell.Cells(1, 1).Value Then
             HedefHucreTemizle
            Exit For
        End If
    Next cell
End Sub

Private Sub  HedefHucreTemizle()
    Me.Range("B20:B21").ClearContents
    Me.Range("C14").ClearContents
    Me.Range("AL18").ClearContents
End Sub

Maalesef Bu kod çalışmadı.
 
Üst