VBA-Code für dynamische dynamische Suche

740
Louai Al Falahi

Mit diesem VBA-Makro für Excel bekomme ich sofort einen Suchfilter, wenn ich das ganze Wort Oeingebe. Ich möchte es jedoch folgendermaßen: Wenn ich für Opel tippe, wird Opel bereits angezeigt.

Dies ist der Code:

Sub MG26Nov26 Private Sub TextBox1_Change() Dim Ray As Variant If Len(TextBox1.Value) = 0 Then Sheet1.AutoFilterMode = False Else If Sheet1.AutoFilterMode = True Then Sheet1.AutoFilterMode = False End If Ray = Split(TextBox1, "+") Sheet1.Range("A2:F" & Rows.Count).AutoFilter field:=1, Criteria1:=Ray, Operator:=xlFilterValues  End If  End Sub 

Dies ist die Testdatei:

https://drive.google.com/open?id=1KDwE2jT_u35wPhd5dR7Xi3X31ddzXDNx

0
Ändern Sie Ray in Ray = Split (TextBox1 & "*", "+") ` Christofer Weber vor 5 Jahren 0
Das hat auch für mich funktioniert. Sie haben wirklich hervorragende Fähigkeiten! vielen Dank Louai Al Falahi vor 5 Jahren 0

1 Antwort auf die Frage

0
Rajesh S

Um das Problem zu lösen, können Sie den unten beschriebenen VBA-Code verwenden.

Private Sub TextBox1_Change() Dim Ray As Variant If Len(TextBox1.Value) = 0 Then Sheet1.AutoFilterMode = False Else If Sheet1.AutoFilterMode = True Then Sheet1.AutoFilterMode = False End If  Sheet1.Range("A2:F" & Rows.Count).AutoFilter field:=1, Criteria1:="*" & TextBox1.Text & "*", Operator:=xlFilterValues End If  End Sub 

NB Das ist die Veränderung ich in der VBA - Code getan haben Criteria1:="*" & TextBox1.Text & "*"anstelle der RayVariablen.

Woowww, das hat für mich funktioniert. Vielen Dank !! Louai Al Falahi vor 5 Jahren 0
@LouaiAlFalahi ,, froh, Ihnen zu helfen und froh zu erfahren, dass meine Lösung für Sie funktioniert hat. Wenn Sie es als Antwort akzeptieren möchten, können Sie es auch abstimmen ☺ Rajesh S vor 5 Jahren 0