Dim bis_zu_dieser_zeile_wird_gefiltert As Integer Dim suchfeld As Integer Dim erste_zeile_der_tabelle As Integer Sub ALLES__EINBLENDEN() Rows("1:" & bis_zu_dieser_zeile_wird_gefiltert).Select Selection.EntireRow.Hidden = False Range("A1").Select End Sub Private Sub Worksheet_Change(ByVal Target As Range) Dim KeyCells As Range Dim aktueller_name_des_tabellenblattes As String Dim aktuelle_spalte As Integer Dim aktuelle_spalte_string As String Dim abc(1 To 20) As String '''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''' PARAMETER SETZEN bis_zu_dieser_zeile_wird_gefiltert = 3000 erste_zeile_der_tabelle = 5 suchfeld = 1 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Set KeyCells = Range("A" & suchfeld & ":Q" & suchfeld) ''''''''''''''''''''''''''''''' hier ! aktueller_name_des_tabellenblattes = ActiveSheet.Name If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then aktuelle_spalte = ActiveCell.Column abc(1) = "A" abc(2) = "B" abc(3) = "C" abc(4) = "D" abc(5) = "E" abc(6) = "F" abc(7) = "G" abc(8) = "H" abc(9) = "I" abc(10) = "J" abc(11) = "K" abc(12) = "L" abc(13) = "M" abc(14) = "N" abc(15) = "O" abc(16) = "P" abc(17) = "Q" aktuelle_spalte_string = abc(aktuelle_spalte) Call SPALTEN_FILTER(aktuelle_spalte_string, aktueller_name_des_tabellenblattes, erste_zeile_der_tabelle, bis_zu_dieser_zeile_wird_gefiltert, suchfeld) End If Set KeyCells = Range("A1") If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then Call ALLES__EINBLENDEN End If End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Sub SPALTEN_FILTER(spalten_buchstabe As String, name_des_blattes As String, start_ As Integer, ende_ As Integer, zeile_suchfeld As Integer) Dim aktueller_name_des_tabellenblattes As String aktueller_name_des_tabellenblattes = ActiveSheet.Name Dim pruefe_diesen_zellwert As String Dim suche_nach_diesem_string As String Sheets(name_des_blattes).Select 'blatt auswählen Rows(start_ & ":" & ende_).Select 'start und ende des bereichs auswählen der ausgeblendet werden soll Selection.EntireRow.Hidden = True suche_nach_diesem_string = ActiveWorkbook.Worksheets(name_des_blattes).Range(spalten_buchstabe & zeile_suchfeld).Value For k = start_ To ende_ Step 1 pruefe_diesen_zellwert = ActiveWorkbook.Worksheets(name_des_blattes).Range(spalten_buchstabe & k).Value rueckgabewert = InStrRev(pruefe_diesen_zellwert, suche_nach_diesem_string, , vbTextCompare) If (rueckgabewert > 0) Then Rows(k & ":" & k).Select Selection.EntireRow.Hidden = False ' wenn was gefunden wurde wieder einblenden End If Next k Range("A1").Select End Sub