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.