An Bedingungen gebundenes ausblenden von Zeilen?
Ich habe ein Problem, welches ich alleine nicht schaffe zu lösen.
Ich habe eine Exceltabelle mit einem Button "Closed ausblenden".
Bisher funktioniert es soweit, dass er alle in Spalte N "Closed" ausblendet.
Code ist bis jetzt so:
Private Sub ToggleButton4_Click()
If Me.ToggleButton4.Value = True Then
Dim Liste As Range
Dim lngCriteriaCount As Long
Dim arrCriteria() As String
Dim oLO As ListObject
Application.EnableEvents = True
For r = 3 To ActiveSheet.UsedRange.Rows.Count
If InStr(Cells(r, 14).Value, "CLOSED") Then
Rows(r).RowHeight = 0
End If
Next
Me.ToggleButton4.Caption = "'CLOSED' ausgeblendet"
Else
For l = 3 To ActiveSheet.UsedRange.Rows.Count
If InStr(Cells(l, 14).Value, "CLOSED") Then
Rows(l).RowHeight = 12
End If
Next
Me.ToggleButton4.Caption = "'closed' ausblenden"
End If
End Sub
Nun soll es erweitert werden:
Es soll nicht nur die Zeile sondern auch alle nachfolgenden Zeilen ausgeblendet werden - bis das Wort "Topic" oder "Topic ll" erreicht wird.
In diesem Beispiel also das gelb markierte mit ausblenden.
Kann mir jemand helfen?
2 Antworten
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).
Danke! funktioniert einwandfrei! Musste nur Topic und Closed groß schreiben, da ichs in meiner N Spalte ja groß geschrieben habe.
"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.
Habe es auf die Weise oben drüber gelöst! Vielen Dank trotzdem :)