在VBA中使用通配符search关键字

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

假设rng是你想search的范围。

 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 

认为代码会为你做的伎俩:)

InStringsearch非常棒,而且很重要,但是另外一个select就是使用Range.Find方法,我强烈build议你熟悉这个方法。 以下是MSDN文档的链接: Range.Find方法(Excel)

通配符是星号(*),你可以把它放在你select的string之前,之间或之后。 我的下面的例子会find并select它发现的第一个单元格,其中任何地方都有文本“Worthington”或“Pump”。

难以置信的有用的方法来学习。

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

要么

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