我的编码部分存在问题。我试图为一个术语设置一个宏搜索行1,如果找到则将一个单元格偏移并选择到F列。我的问题是我只能搜索一个术语。如果我想要它来搜索第二个单词,我必须打开VBA窗口并更改单词。我希望它根据Row(“1:1”)中的第一个匹配项搜索任一术语然后偏移。这就是我所拥有的。我还需要它来寻找“Mat”这个词。
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
答案 0 :(得分:3)
为什么不添加下面的其他条件?
If InStr(1, cel.Value, "Units per Assy") > 0 Or InStr(1, cel.Value, "Mat") > 0 Then
答案 1 :(得分:0)
很难理解为什么在许多单元格上使用Range.Select()。 无论如何要从单词列表中搜索,您可以采用如下代码。
'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
希望以上有帮助,它将使用偏移仅选择一个单元格。 给我详细说明您要如何突出显示/选择完成
答案 2 :(得分:0)
谢谢大家。在sktneer的回答之后,我需要为声明添加一个退出。现在工作得很好。以下是更新后的代码。
行(" 1:1")选择。 Dim SrchRng作为范围,cel作为范围 设置SrchRng =范围(" 1:1") 每个cel在SrchRng 如果是InStr(1,cel.Value," Mat")> 0或InStr(1,cel.Value,"每个Assy的单位")> 0然后 cel.Offset(0,-1)。选择 退出 万一 下一个cel 范围(ActiveCell.Offset(0,0),Cells(Selection.Row,6))。选择