【问题标题】:vba excel - find string wildcardvba excel - 查找字符串通配符
【发布时间】:2016-06-02 23:38:42
【问题描述】:

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

我有一个单元格,用户在其中输入搜索词(仅数字),应该如下所示:“123456”。 然后,我有另一个工作簿,我在其中准确搜索“123456”。我设法做到了。

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

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

set rFound = wks.UserRange.Find(strToSearch, LookIn:=xlValues, lookat:=xlwhole, MatchCase:=False)

有什么想法吗?

谢谢

【问题讨论】:

  • 你想得到第一个匹配还是可能的匹配??

标签: string excel vba wildcard


【解决方案1】:

您可以在循环中或与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

【讨论】:

  • 您好,感谢您的回答,工作非常完美,尽管当我做两个这样的通配符时:“123*5*7”它也可能给我这样的东西: “1233447” - 注意它给出的结果不应该出现在@Gary's
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-20
  • 2019-06-04
相关资源
最近更新 更多