Вы можете создать свои собственные критерии выбора, используя регулярное выражение, которое обрабатывает все записи как строки. Это, вероятно, OTT, но он дает вам большую гибкость, если она понадобится вам в будущем.
Private Sub TextBox1_Change()
Dim ws As Worksheet
Set ws = ThisWorkbook.ActiveSheet
Dim iLast As Long
iLast = ws.Range("B" & Rows.Count).End(xlUp).Row
' create regex pattern
Dim sPattern As String
sPattern = CStr(TextBox1.Value)
'create regex engine
Dim Regex As Object
Set Regex = CreateObject("vbscript.regexp")
With Regex
.Global = True
.MultiLine = False
.IgnoreCase = True
.Pattern = sPattern
End With
' build selection array
Dim r As Long, i As Long, s As String, ar() As String
ReDim ar(iLast)
i = 0
For r = 7 To iLast
s = CStr(ws.Range("B" & r).Value)
If Len(s) > 0 And Regex.test(s) Then
ar(i) = s
i = i + 1
End If
Next
ReDim Preserve ar(i)
' apply filter
If Len(TextBox1.Value) = 0 Then
ws.AutoFilterMode = False
Else
ws.Range("B7:G" & Rows.Count).AutoFilter Field:=1, _
Operator:=xlFilterValues, _
Criteria1:=ar
End If
End Sub