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:
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
|