我在VBA中使用自动过滤功能来过滤Excel工作表。下面是一张桌子的图片。
当用户对同一工作表上的文本框进行更改时,将执行以下代码。我遇到的问题是,由于我在过滤器中使用了通配符,因此过滤掉了只包含一个数字(例如2084)的任何单元格。过滤器适用于包含字母的单元格。我如何将数字单元格转换为字符串,以便在用户在文本框中输入“20”时,我的过滤器会捕获2084?
Private Sub TextBox2_Change()
Dim Txt As String
Dim rng As Range
Txt = TextBox2.Text
Set rng = ActiveSheet.Range("a13:a1000")
If Len(Txt) > 0 Then
rng.AutoFilter Field:=1, Criteria1:="*" & Txt & "*"
Else
rng.AutoFilter Field:=1, Criteria1:="<>" & Txt
End If
End Sub