An Bedingungen gebundenes ausblenden von Zeilen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Hallo,

das kannst du hiermit erreichen:

Private Sub ToggleButton4_Click()
    Dim Hid As Boolean, Hidd As Boolean
    Dim lZei As Long, i As Long
    
    If Me.ToggleButton4.Value = True Then
        'ausblenden
        Hid = True
        Me.ToggleButton4.Caption = "'CLOSED' ausgeblendet"
    Else
        'einblenden
        Hid = False
        Me.ToggleButton4.Caption = "'closed' ausblenden"
    End If
    
    With ActiveSheet
        lZei = Application.WorksheetFunction.Match("", .Range("N:N"), -1)
        For i = 3 To lZei
            If InStr(.Range("N" & i).Value, "Closed") Then
                Hidd = True
            ElseIf InStr(.Range("N" & i).Value, "Topic") Then
                Hidd = False
            End If
            
            If Hidd Then    'Hidd and Hid bei Zeilenhöhenänderung
            'ausblenden
                .Rows(i).EntireRow.Hidden = Hid
                '.Rows(i).RowHeight = 0
            Else
            'einblenden
                .Rows(i).EntireRow.Hidden = False
                '.Rows(i).RowHeight = 12
            End If
        Next i
    End With
End Sub

Die Zeilen werden ausgeblendet, anstatt nur die Zeilenhöhe auf 0 zu setzten. Falls du die Zeilenhöhen tatsächlich verändern möchtest, müsstest du es noch entsprechend der Kommentare ändern.

Zudem fand Usedrange bei meiner Testmappe nicht zuverlässig die letzte Zeile, falls diese ausgeblendet wurde, daher bestimmt es diese jetzt per Match (müsste erweitert werden, wenn in der Spalte auch reine Zahlenwerte vorkommen können, aber das scheint bei dir ja nicht der Fall zu sein).

vwegner 
Fragesteller
 07.03.2022, 10:48

Danke! funktioniert einwandfrei! Musste nur Topic und Closed groß schreiben, da ichs in meiner N Spalte ja groß geschrieben habe.

0

"Ausblenden" oder einen Autofilter so einstellen dass alle Dinge gezeigt bleiben AUßER Closed ist das Gleiche.
In einem solchen Fall bediene ich den Autofilter.
Kannst du mit MakroAufzeichnung als Code erstellen lassen und dann als Ablauf hinter deinen Knopf packen.

vwegner 
Fragesteller
 07.03.2022, 10:48

Habe es auf die Weise oben drüber gelöst! Vielen Dank trotzdem :)

0