• DİKKAT

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

Hücrenin kendisini tek tık buton olarak kullanabilir miyim

Katılım
15 Mart 2020
Mesajlar
66
Excel Vers. ve Dili
2013 ve 2016
Merhaba biraz uğraştırıcı bir iş ama yardımlarınızı rica ediyorum

A5 hücresine her tek tıkladığımda C 21 C150 Aarasında gizli satırlardan bir satır açsın tık C22 tık C23 tık C24 Diye devam etsin
A5 çit tıklandığında ise C21 C150 Tamamını açsın

B5 hücresine her tek tıkladığımda da A5 in açtıklarını içeriğini silerek sondan başa doğru gizlesin C24 sil gizle C23 sil gizle C22 sil gizle gibi
B5 Çift tıklandığında-da tamamını silip gizlesin
 
Hücrenin tek tıklama (Selection) olayı biraz sıkıntılıdır. Bunun yerine buton kullanmanızı tavsiye ederim.

Çift tıklama için aşağıdaki kodu deneyebilirsiniz.

C++:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("A5")) Is Nothing Then
        Cancel = True
        Range("C21:C150").EntireRow.Hidden = False
    End If
    If Not Intersect(Target, Range("B5")) Is Nothing Then
        Cancel = True
        Range("C21:C150").ClearContents
        Range("C21:C150").EntireRow.Hidden = True
    End If
End Sub
 
Merhaba Sayın AYHAN
takibi butonda olur önemli olan kod yazılabilir mi olur u varmı dır bu tarz kodlar hepsi toplu göster gizle yapıyor
 
Deneyiniz.

C++:
Option Explicit

Sub A5()
    Dim X As Byte
    For X = 21 To 150
        If Rows(X).Hidden = True Then
            Rows(X).Hidden = False
            Exit Sub
        End If
    Next
End Sub

Sub B5()
    Dim X As Byte
    For X = 15 To 21 Step -1
        If Rows(X).Hidden = False Then
            Range("C" & X).ClearContents
            Rows(X).Hidden = True
            Exit Sub
        End If
    Next
End Sub
 
Deneyiniz.

C++:
Option Explicit

Sub A5()
    Dim X As Byte
    For X = 21 To 150
        If Rows(X).Hidden = True Then
            Rows(X).Hidden = False
            Exit Sub
        End If
    Next
End Sub

Sub B5()
    Dim X As Byte
    For X = 15 To 21 Step -1
        If Rows(X).Hidden = False Then
            Range("C" & X).ClearContents
            Rows(X).Hidden = True
            Exit Sub
        End If
    Next
End Sub
Merhaba Sayın AYHAN
sayfadaki Change koduna hata verdirmesinin nedeni ne olabilir fikriniz varmı dır sorunu nerede aramalıyım
 
Kod C sütununda silme işlemi yaptığı için Change olayını tetikliyor olabilir.
 
Kod C sütununda silme işlemi yaptığı için Change olayını tetikliyor olabilir.
Sayın AYHAN
Haklısınız tetikliyor
Gece gece size zahmet veriyorum ama kodları modüle koyup sayfa 1 de butonla alıştırmak lazım bu durumda sizden ricam bu şekilde revize edebilir misiniz
 
Deneyiniz.

C++:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    On Error GoTo Son
    Application.EnableEvents = False
    If Not Intersect(Target, Range("A5")) Is Nothing Then
        Cancel = True
        Range("C21:C150").EntireRow.Hidden = False
    End If
    If Not Intersect(Target, Range("B5")) Is Nothing Then
        Cancel = True
        Range("C21:C150").ClearContents
        Range("C21:C150").EntireRow.Hidden = True
    End If
Son: Application.EnableEvents = True
End Sub
 
Deneyiniz.

C++:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    On Error GoTo Son
    Application.EnableEvents = False
    If Not Intersect(Target, Range("A5")) Is Nothing Then
        Cancel = True
        Range("C21:C150").EntireRow.Hidden = False
    End If
    If Not Intersect(Target, Range("B5")) Is Nothing Then
        Cancel = True
        Range("C21:C150").ClearContents
        Range("C21:C150").EntireRow.Hidden = True
    End If
Son: Application.EnableEvents = True
End Sub

Sayın AYHAN
Gönülden teşekkür ederim sonuç başarılı
 
Geri
Üst