You need to give bit more detail than that. Which column is to be filtered and with what condition? Better yet, upload sample workbook that represents your data set.
Private Sub TextBox1_Change()
Dim c, col As Long
With ActiveSheet.ListObjects("ContactList").DataBodyRange
Set c = .Find([E3].Value, .Cells(1), xlValues, xlPart, xlByRows)
If Not c Is Nothing Then
col = c.Column - 2
ElseIf Len([E3].Value) = 0 Then
Call clearFilter
Exit Sub
Else
Exit Sub
End If
End With
ActiveSheet.ListObjects("ContactList").Range.AutoFilter Field:=col, _
Criteria1:="*" & [E3] & "*", Operator:=xlFilterValues
End Sub
Sub clearFilter()
[E3] = ""
ActiveSheet.ListObjects("ContactList").AutoFilter.ShowAllData
End Sub
Private Sub TextBox1_Change()
Dim c, col As Long
With ActiveSheet.ListObjects("ContactList")
.AutoFilter.ShowAllData
With ActiveSheet.ListObjects("ContactList").DataBodyRange
Set c = .Find([E3].Value, .Cells(1), xlValues, xlPart, xlByColumns)
If Not c Is Nothing Then
col = c.Column - 2
ElseIf Len([E3].Value) = 0 Then
Call clearFilter
Exit Sub
Else
Exit Sub
End If
End With
.Range.AutoFilter Field:=col, Criteria1:="*" & [E3] & "*", Operator:=xlFilterValues
End With
End Sub
Sub clearFilter()
[E3] = ""
ActiveSheet.ListObjects("ContactList").AutoFilter.ShowAllData
End Sub