Excel динамический поиск VBA код

493
Louai Al Falahi

С помощью этого макроса VBA для Excel я получаю фильтр мгновенного поиска при наборе всего слова, но я хочу, чтобы он был следующим: когда я Oпечатаю для opel, я получаю, что opel уже показывает.

Это код:

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 

Это тестовый файл:

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

0
Попробуйте изменить луч на `Ray = Split (TextBox1 &" * "," + ")` Christofer Weber 5 лет назад 0
Это сработало и для меня. У вас действительно отличные навыки! большое спасибо вам Louai Al Falahi 5 лет назад 0

1 ответ на вопрос

0
Rajesh S

Чтобы решить эту проблему, вы можете использовать приведенный ниже код VBA.

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. Это изменение, которое я сделал в коде VBA Criteria1:="*" & TextBox1.Text & "*"вместо Rayпеременной.

Woowww, который работал для меня. Большое спасибо !! Louai Al Falahi 5 лет назад 0
@LouaiAlFalahi ,, рад помочь вам и рад узнать, что мое решение сработало для вас. Если вы хотите принять его в качестве ответа, вы можете проголосовать за него ☺ Rajesh S 5 лет назад 0

Похожие вопросы