Попробуйте что-то подобное в своем коде (добавьте другой код в поле ввода для ввода FindString
):
Dim StringValueColumn as long
StringValueColumn = wrkSht.Cells.Find(What:=FindString, After:=wrkSht.Range("A1"), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False).Column
MyRange.AutoFilter StringValueColumn, "=[ValueToKeepVisible]"
Обновление
Что-топросто, как это будет работать.
Option Explicit
Public Sub FilterRows()
Dim MyRange As Range
Dim FindString As String
Dim FindRange As Range
Set MyRange = ActiveSheet.Range("A1").CurrentRegion
FindString = InputBox("Type a Value")
Set FindRange = MyRange.Find(What:=FindString)
If Not FindRange Is Nothing Then
MyRange.AutoFilter FindRange.Column, FindString
End If
End Sub
Пример данных
Range("A1:C4")
First Middle Last 'Header Values
Brian Daniel Smith
Larry Amos Smith
Tanya Esther Schmidt