vba excel - 查找字符串通配符
vba excel - find string wildcard
我在excel做一个简单的搜索引擎,我想做一些通配符,例如:
我有一个单元格,用户可以在其中输入搜索词(仅限数字),搜索词应如下所示:“123456”。
然后,我有另一个工作簿,我在其中准确搜索“123456”。这是我设法做到的。
但是,如何制作通配符?例如,我希望用户能够搜索:“123?56”,我会给他结果:“123456”、“123356”、“123556”等
这是我寻找完全匹配的方式:
set rFound = wks.UserRange.Find(strToSearch, LookIn:=xlValues, lookat:=xlwhole, MatchCase:=False)
有什么想法吗?
谢谢
您可以在循环中或与 Find
:
一起使用通配符
Sub dural2()
MsgBox Range("A1:A10").Find(What:="123*56", After:=Range("A1")).Row
End Sub
或在 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
我在excel做一个简单的搜索引擎,我想做一些通配符,例如:
我有一个单元格,用户可以在其中输入搜索词(仅限数字),搜索词应如下所示:“123456”。 然后,我有另一个工作簿,我在其中准确搜索“123456”。这是我设法做到的。
但是,如何制作通配符?例如,我希望用户能够搜索:“123?56”,我会给他结果:“123456”、“123356”、“123556”等
这是我寻找完全匹配的方式:
set rFound = wks.UserRange.Find(strToSearch, LookIn:=xlValues, lookat:=xlwhole, MatchCase:=False)
有什么想法吗?
谢谢
您可以在循环中或与 Find
:
Sub dural2()
MsgBox Range("A1:A10").Find(What:="123*56", After:=Range("A1")).Row
End Sub
或在 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