按关键字搜索在VBA中使用通配符

时间:2017-07-03 13:38:59

标签: excel vba excel-vba

我知道这可能与CTRL-F有关,但我希望能够在VBA中完成。例如,如果我想搜索" Worthington Pump"在我的工作簿中,但是工作簿中没有按顺序排列的那两个单词,但它们位于同一个单元格中,因此我可以搜索" Worthington Pump "。有没有办法用VBA代替CTRL-F?

2 个答案:

答案 0 :(得分:2)

我们假设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

认为代码可以帮到你:)

答案 1 :(得分:2)

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

通配符是星号(*),您可以将它放在您选择的字符串之前,之间或之后。我的下面的例子将找到并选择它找到的第一个单元格,其中文本的位置为#34; Worthington"或"泵" 任何地方

非常有用的学习方法。

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

OR

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