Hallo,
Ihre Lösung ist soweit schon ganz gut.
Ich würde allerdings nicht au "Selection" verweisen, sondern auf einen benannten Bereich. Dadurch ist man unabhängig vom markierten Bereich:
1 2 3 4 5 6 7 | Sub Autofilter_Wildcard_Spalte_BA()
Dim strTitel As String
Dim rng As Range
strTitel = InputBox( "Suche nach:" , "Suchbegriff eingeben" , , 5, 5)
Set rng = ActiveWorkbook.Names( "Felder" ).RefersToRange
rng.AutoFilter Field:=53, Criteria1:= "*" & strTitel & "*"
End Sub
|
Wenn nach mehreren Kriterien gesucht werden soll, kann folgendes eingesetzt werden:
Sub Autofilter_Array()
Dim strTitel As String
Dim rng As Range
Dim arTitel() As String
Dim iItem As Integer
strTitel = InputBox("Suche nach:", "Suchbegriff eingeben", , 5, 5)
Set rng = ActiveWorkbook.Names("Felder").RefersToRange
arTitel = Split(strTitel, " ")
For iItem = 0 To UBound(arTitel)
arTitel(iItem) = "*" & arTitel(iItem) & "*"
Next
rng.AutoFilter Field:=53, Criteria1:=arTitel, Operator:=xlFilterValues
End Sub
Diese Lösung splittet den Suchbegrif in ein Array und bettet jeden Suchbegriff in zwei "*" ein.
Leider scheint diese Lösung nur bei zwei Suchbegriffen zu funktionieren. Bei drei Suchbegriffen wird bereits kein Treffer mehr angezeigt.
VG, BigBen
|