AW: Tabelle filtern
04.02.2021 18:55:30
Piet
Hallo
wenn du mit VBA ein wenig bewandert bist hilft dir dieser Code weiter. Er kommt in das Tabellenblatt welches du filtern willst und wird durch Eingabe in eine Zelle gestartet. Beim löschen der Eingabe setzt sich der Autofilter wieder auf Null zurğck.
mfg Piet
Dim lz1 As Long, LSpa As Integer 'LastSpalte
Dim Txt As String, Txt2 As String
'Makro für intelligenten Autofilter!!
'filtert auch verknüpfte Werte, zwei Texte
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fehler
If Target.Count > 1 Then Exit Sub
If Target.Address(0, 0) = "B2" Then
Target.Select
ActiveSheet.AutoFilterMode = False
If Target.Value = "" Then Exit Sub
Txt = Empty: Txt2 = Empty
Txt = "*" & Target.Value & "*"
lz1 = Cells(Rows.Count, 2).End(xlUp).Row
LSpa = Cells(1, 8).End(xlToRight).Column
'Filter Eingabe ohne Komma
If InStr(Txt, ",") = 0 Then
Range("A4").Resize(lz1, LSpa).AutoFilter Field:=2, Criteria1:=Txt
End If
'Filter Eingabe mit Komma, zweiter Text (und verknüpft)
If InStr(Txt, ",") Then
Txt2 = "*" & Trim(Mid(Txt, InStr(Txt, ",") + 1))
Txt = Trim(Left(Txt, InStr(Txt, ",") - 1)) & "*"
Range("A4").Resize(lz1, LSpa).AutoFilter Field:=2, _
Criteria1:=Txt, Operator:=xlAnd, Criteria2:=Txt2
End If
Fehler:
End If
End Sub