ich habe deinen Beitrag als eigenen Thread geteilt; bitte nicht an ein bestehendes Thema anschließen. Für eine adäquate Hilfe eignet sich zudem ein ScrShot nicht - lies dir mal dazu diese beiden Beiträge durch:
Sub ausblenden() Dim j As Long, lngZ As Long Dim strgZeilen As String Dim at, c00 Dim suchBegriff
suchBegriff = "Yes"
With Sheets("Tabelle1") .Rows.Hidden = False lngZ = .Cells(.Rows.Count, "P").End(xlUp).Row at = .Range("P1:P" & lngZ) 'Bereich in dem gesucht werden soll For j = 1 To UBound(at) If IsNumeric(Application.Match(suchBegriff, Application.Index(at, j), 0)) Then c00 = c00 & ", " & j & ":" & j Next j strgZeilen = RTrim(Mid(Trim(c00), 3)) If strgZeilen <> "" Then Range(strgZeilen).EntireRow.Hidden = True Else MsgBox suchBegriff & " in keiner Zeile gefunden!" End If End With
jetzt habe ich solang rumgedrückt und alles verändert aber nix geht.
Evtl wärst du noch einmal bereit zu helfen. Ich erkläre es noch einmal anders und erstmal nur an einer Zeile.
Ich habe eine Tabelle von A bis Q. Nun möchte ich wenn in Column P ein Yes steht (welches durch ein Auswahlfeld geschieht, wo ich YES, NO, Mismatch auswählen kann) , das die ganze Zeile (von A bis Q) verschwindet.
man kann keine Bereiche ausblenden, sondern nur ganze Zeilen oder Spalten. Der bisherige Code hätte manuell oder über eine Schaltfläche angestoßen werden müssen.
Unterer Code reagiert auf Änderungen in Spalte P und sobald ein Yes geschrieben bzw. ausgewählt wird, wird die Zeile ausgeblendet:
Code:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 16 And Target.Count = 1 Then If Target = "Yes" Then Rows(Target.Row).Hidden = True End If End Sub
Sub alle_einblenden() ActiveSheet.Rows.Hidden = False End Sub
Sub alle_einblenden muss wieder manuell angestoßen werden, und ist für den Fall gedacht, dass Du wieder alle Zeilen einblenden möchtest.