如何在字符串和数字上使用带通配符的VBA自动过滤器?

时间:2017-01-18 16:35:53

标签: excel vba filter wildcard autofilter

我在VBA中使用自动过滤功能来过滤Excel工作表。下面是一张桌子的图片。

enter image description here

当用户对同一工作表上的文本框进行更改时,将执行以下代码。我遇到的问题是,由于我在过滤器中使用了通配符,因此过滤掉了只包含一个数字(例如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

0 个答案:

没有答案