如何修改此解决方案以使用数字?至于现在,它仅在过滤短语是文本时才有效。
答案 0 :(得分:1)
按照链接所执行的步骤操作,然后使用以下代码将Range(" $ B $ 4:$ B $ 5000")部分替换为您要过滤的实际数据。这也假定您将文本框链接到单元格A1。
Private Sub TextBox1_Change()
ActiveSheet.Range("$B$4:$B$5000").AutoFilter Field:=1, Criteria1:="" & CStr(Excel.ActiveSheet.Range("A1").Value) & ""
End Sub
此外,您可能希望获得包含该数字中所有整数的所有值,并且可以使用以下内容(尽管速度相当慢)
Private Sub TextBox1_Change()
Application.ScreenUpdating = False
vCheck = CStr(Range("A1").Value)
For Each vCell In Range("B5:B5000")
vValue = CStr(vCell.Value)
If Not CBool(InStr(1, vValue, vCheck, vbBinaryCompare)) Then
hideRow = vCell.Row
Rows(hideRow).Hidden = True
Else
hideRow = vCell.Row
Rows(hideRow).Hidden = False
End If
Next vCell
Application.ScreenUpdating = True
End Sub