VBA用户窗体:带方括号的过滤器名称

时间:2015-06-28 12:59:29

标签: vba filter userform brackets square-bracket

使用方括号搜索名称时遇到问题:例如Peter [Jones](combobox1)。它找不到那个名字?

如何解决这个问题?任何人都可以提供帮助或建议

Dim a, LngIndex As Long
Dim ytCrit, mtCrit, dtCrit As Long
Dim yuCrit, muCrit, duCrit As Long
Dim sCrit As String
Dim tCrit, uCrit As Date
Dim vCrit, wCrit As Long
Dim tngSource As Range
Dim LastRow As Long

LastRow = Worksheets("Sheet2").Cells(Cells.Rows.Count, "K").End(xlUp).Row

On Error Resume Next

Set tngSource = Worksheets("Sheet2").Range("A2:K" & LastRow)

sCrit = "*" & UCase(ComboBox1) & "*"
With ListBox1
    For a = .ListCount - 1 To 0 Step -1
        If Not UCase(.List(a, 1)) Like sCrit Then
            .RemoveItem a
        End If
    Next a
End With

1 个答案:

答案 0 :(得分:0)

  

...用方括号搜索以查找名称:例如Peter [Jones]

[运算符的方括号]Like包含要在匹配中搜索的字符列表。它并不意味着像[" [琼斯]"是可选的。

所以s Like "[Jones]"将匹配包含J,an或an或e的任何内容。

用户GSerg写道时,使用InStr函数在字符串中搜索子字符串。搜索将区分大小写。