2017-07-03 61 views
0

我知道這可以用CTRL-F做,但我希望能夠在VBA中完成。例如,如果我想在工作簿中搜索「Worthington Pump」,但工作簿中沒有這兩個單詞,但它們位於同一單元格中,因此我可以搜索「Worthington Pump」 。有沒有辦法使用VBA而不是CTRL-F來做到這一點?按關鍵字搜索在VBA中使用通配符

+2

的可能的複製[VBA出類拔萃 - 找到字符串通配符(https://stackoverflow.com/questions/35538​​493/vba-excel-find-string-wildcard) –

+0

爲什麼不只是在VBA中使用'Range.Find()'方法? Find和FindNext一起允許你用CTRL + F做你能做的所有事情。 –

回答

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 

認爲該代碼會做的伎倆爲你:)

2

InString搜索是夢幻般的,而重要的學習,但另一種選擇是使用Range.Find方法,我會強烈建議你熟悉。以下是MSDN文檔的鏈接:Range.Find Method (Excel)

通配符是星號(*),您可以將它放在您選擇的字符串之前,中間或之後。我的下面的例子將找到並選擇它發現的第一個單元格,其中文本具有「Worthington」或「Pump」任何地方

難以置信的有用的方法來學習。

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

OR

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