Нужно, чтоб при каждом изменении в TextBox1 автоматически сразу отфильтровывались данные, которые содержатся в TextBox1.
В коде листа указываю
Код: Выделить всё
Private Sub TextBox1_Change()
Range("MyRangeName").AutoFilter Field:=1, Criteria1:="=*" & TextBox1 & "*", Operator:=xlAnd
End Sub
Хотя если фокус (курсор) находится не в поле TextBox1, а на листе, то при принудительном запуске макрос срабатывает нормально.
Если соорудить рабочий код наподобие типа
Код: Выделить всё
Private Sub TextBox1_Change()
For Each C In Range("MyRangeName")
If InStr(1, C, TextBox1.Text) > 0 Then
C.EntireRow.Hidden = False
Else
C.EntireRow.Hidden = True
End If
Next
End Sub
Подозреваю, что уже есть варианты у тех, кто решал подобную задачу. Научите.