एक टॉगल बटन बनाना जो एक कॉलम में "0" के मूल्य के आधार पर पंक्तियों को छुपाता है और अनहाइड करता है


1

मैं विशिष्ट VBA कोड पर शोध करने की कोशिश कर रहा हूं जो मुझे टॉगल बटन बनाने की अनुमति देगा और कोई वास्तविक भाग्य नहीं था।

मेरी वर्कशीट के कॉलम "I" में, मैंने ऐसे मान निर्दिष्ट किए हैं जो "0" का उपयोग करते हैं और एक कोड चाहते हैं जो "I" कॉलम में "0" मान के साथ मेल खाती पंक्तियों को छुपाता है और अनहाइड करता है।

मैं भी एक टॉगल बटन बनाने की कोशिश कर रहा हूं कि जब चयनित मेरी पंक्तियों को छिपाएगा और अनसाइड करेगा। यह पंक्ति 7 से शुरू होता है और पंक्ति 491 पर समाप्त होता है।

यह वह कोड है जिसके साथ मैं काम कर रहा हूं, लेकिन इसे सही ढंग से चलाने के साथ कोई भाग्य नहीं है। बहुत सराहना की जाएगी अगर कोई मदद कर सकता है!

Private Sub ToggleButton1_Click()
Dim xAddress As String
xAddress = "I"
If ToggleButton1.Value Then
    Application.ActiveSheet.Rows(xAddress).Hidden = True
Else
    Application.ActiveSheet.Columns(xAddress).Hidden = False
End If
End Sub

Private Sub PG1(ByVal Target As Range)
    If .Range("E7").Value = "Passed" Then
        Rows("7:491").EntireRow.Hidden = True
    End If
    ElseIf Range("E7").Value = "Failed" Then
        Rows("7:491").EntireRow.Hidden = True
    End If
End Sub

जवाबों:


0

अपनी परीक्षण शीट पर मैंने 2 टॉगल बटन बनाए:

  • ToggleButton1 (छुपाता है और कॉलम I में 0 छिपाता है)
  • ToggleButton2 (पंक्तियाँ 7: 491 को छिपाती और छिपाती हैं)

यहाँ दोनों के लिए कोड है:


Option Explicit

Private Sub ToggleButton1_Click()
    With Me
        If .ToggleButton1.Value = False Then
            If .AutoFilterMode Then .UsedRange.AutoFilter
            .ToggleButton1.Caption = "Hide 0's"
        Else
            .UsedRange.Columns(9).AutoFilter Field:=1, Criteria1:="<>0"
            .ToggleButton1.Caption = "Show 0's"
        End If
    End With
End Sub


Private Sub ToggleButton2_Click()
    Dim e7 As String, changed As Boolean

    With Me
        e7 = .Range("E7").Value2
        If .ToggleButton2.Value = False Then
            .Rows("7:491").EntireRow.Hidden = False
            .ToggleButton2.Caption = "Hide Rows"
        Else
            changed = (e7 = "Passed" Or e7 = "Failed")
            .Rows("7:491").EntireRow.Hidden = changed
            If changed Then .ToggleButton2.Caption = "Show All Rows"
        End If
    End With
End Sub

जब उन पर बटन के साथ पंक्तियों को छिपाते और अनसुना करते हैं, तो बटन स्थानांतरित हो सकते हैं या छिप सकते हैं

डिज़ाइन मोड में:

  • प्रत्येक बटन को राइट-क्लिक करें
  • चुनते हैं Format Control
  • 3 टैब पर जाएं (गुण)
  • "कोशिकाओं के साथ स्थानांतरित या आकार न करें" चुनें
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.