【问题标题】:Search by Keywords Using Wildcards in VBA在 VBA 中使用通配符按关键字搜索
【发布时间】:2017-07-03 13:38:58
【问题描述】:

我知道使用 CTRL-F 可以做到这一点,但我希望能够在 VBA 中做到这一点。例如,如果我想在我的工作簿中搜索“Worthington Pump”,但在工作簿中没有按顺序排列这两个单词,但它们在同一个单元格中,所以我可以搜索“Worthington Pump ”。有没有办法使用 VBA 而不是 CTRL-F 来做到这一点?

【问题讨论】:

  • 为什么不在 VBA 中使用Range.Find() 方法? FindFindNext 一起让你可以做所有你可以用 CTRL+F 做的事情。

标签: vba excel


【解决方案1】:

假设rng 是您要搜索的范围。

For Each c In rng
    If InStr(c.Value, "Worthington") > 0 And InStr(c.Value, "Pump") > 0 Then
        'some code to highlight cell
    End If
Next c

认为代码会为您解决问题:)

【讨论】:

    【解决方案2】:

    InString 搜索非常棒,学习也很重要,但另一种选择是使用 Range.Find 方法,我强烈建议您熟悉它。这是 MSDN 文档的链接:Range.Find Method (Excel)

    通配符是星号 (*),您可以将它放在您选择的字符串之前、中间或之后。我下面的示例将找到并选择它找到的第一个单元格,其中文本中包含“Worthington”或“Pump”ANYWHERE

    非常有用的学习方法。

    Range("A1:A10").Find(What:="*Worthington*").Select
    'Do Stuff'
    

    Range("A1:A10").Find(What:="*Pump*").Select
    'Do Stuff'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-13
      • 1970-01-01
      • 1970-01-01
      • 2021-12-23
      • 2014-03-01
      相关资源
      最近更新 更多