VBA Excel中-查找字符串通配符

dan*_*nji 2 string excel vba wildcard

我正在用excel做一个简单的搜索引擎,我想制作一些通配符,例如:

我有一个单元格,用户在其中输入看起来像这样的搜索词(仅数字):“ 123456”。然后,我还有另一本工作簿,在其中精确搜索“ 123456”。我设法做到了。

但是,如何制作通配符?例如,我希望用户能够搜索:“ 123?56”,然后给他结果:“ 123456”,“ 123356”,“ 123556”等。

这就是我寻找完全匹配的方式:

set rFound = wks.UserRange.Find(strToSearch, LookIn:=xlValues, lookat:=xlwhole, MatchCase:=False)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

谢谢

Gar*_*ent 5

您可以在循环中或通过Find以下方式使用通配符:

Sub dural2()
    MsgBox Range("A1:A10").Find(What:="123*56", After:=Range("A1")).Row
End Sub
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

或与Like

Sub dural()
    For Each r In Range("A1:A10")
        If r.Value Like "123*56" Then
            MsgBox r.Address
        End If
    Next r
End Sub
Run Code Online (Sandbox Code Playgroud)