search范围寻找多个条款,然后继续

我有一个编码问题。 我试图有一个术语的macrossearch行1,如果发现然后偏移一个单元格,并select到F列。我的问题是,我只能让它search一个术语。 如果我想要search第二个单词,我必须打开VBA窗口并更改单词。 我希望它根据行(“1:1”)中的第一个匹配项search任一项,然后进行偏移。 这是我的。 我需要它也寻找单词“垫子”。

Rows("1:1").Select Dim SrchRng As Range, cel As Range Set SrchRng = Range("1:1") For Each cel In SrchRng If InStr(1, cel.Value, "Units per Assy") > 0 Then cel.Offset(0, -1).Select End If Next cel Range(ActiveCell.Offset(0, 0), Cells(Selection.Row, 6)).Select Selection.EntireColumn.Select 

为什么不添加下面的其他条件?

 If InStr(1, cel.Value, "Units per Assy") > 0 Or InStr(1, cel.Value, "Mat") > 0 Then 

很难理解为什么在很多单元上使用Range.Select()。 无论如何,从单词列表中search,你可以采取你的代码如下。

 'Assume you search words are on a hidden sheet called 'Search Strings' from 'range A1:A5 Option Explicit Public Sub highlight() Dim SrchRng As Range, cel As Range Dim searchStringsRange As Range, celSearch As Range Set SrchRng = Range("1:1") Set searchStringsRange = Sheets("Search Strings").Range("A1:A5") 'SrchRng.Select For Each cel In SrchRng For Each celSearch In searchStringsRange If InStr(1, cel.Value, celSearch.Value) > 0 Then cel.Offset(0, -1).Select Exit For End If Next Next cel 'Range(ActiveCell.Offset(0, 0), Cells(Selection.Row, 6)).Select 'Selection.EntireColumn.Select End Sub 

希望以上的帮助,它将只使用偏移量select一个单元格。 给我详细说明如何突出显示/select完成

谢谢大家。 在sktneer的回答后,我需要添加一个退出语句。 现在完美的工作。 以下是更新的代码。

行(“1:1”)。selectDim SrchRng作为范围,cel作为范围设置SrchRng =范围(“1:1”)对于每个cel In SrchRng如果InStr(1,cel.Value,“Mat”)> 0或InStr(1,cel.Value,“Units per Assy”)> 0然后cel.Offset(0,-1)。select退出For End如果下一个Cell Range(ActiveCell.Offset(0,0),Cells(Selection.Row ,6))