从第二个工作表中的列表中突出显示一个工作表中的关键字

时间:2013-03-18 02:57:56

标签: excel highlight

我已经尝试了一段时间了。我差不多了,但我的vba技能还没有完成。我在工作表中有一些文本需要搜索并查找某些关键字的所有实例。

理想情况下,我会在第二个工作表的某个范围内使用关键字。我无法弄清楚。我已经能够使用以下内容来搜索固定数组但无法弄清楚如何将其带到下一步从工作表中获取单词。

Sub X()

Dim vntWords As Variant
Dim lngIndex As Long
Dim rngFind As Range
Dim strFirstAddress As String
Dim lngPos As Long

vntWords = Array("sales", "job")

With ActiveSheet.UsedRange
    For lngIndex = LBound(vntWords) To UBound(vntWords)
        Set rngFind = .Find(vntWords(lngIndex), LookIn:=xlValues, lookat:=xlPart)
        If Not rngFind Is Nothing Then
            strFirstAddress = rngFind.Address
            Do
                lngPos = 0
                Do
                    lngPos = InStr(lngPos + 1, rngFind.Value, vntWords(lngIndex), vbTextCompare)
                    If lngPos > 0 Then
                        With rngFind.Characters(lngPos, Len(vntWords(lngIndex)))
                            .Font.Bold = True
                            .Font.Size = .Font.Size
                            .Font.ColorIndex = 3
                        End With
                    End If
                Loop While lngPos > 0
                Set rngFind = .FindNext(rngFind)
            Loop While rngFind.Address <> strFirstAddress
        End If
    Next
End With

End Sub

1 个答案:

答案 0 :(得分:0)

可能会对你有所帮助

ThisWorkbook.Sheets("name of sheet with search terms").Range("A1:A")

这将为A列中的所有值提供数组。您可以在代码中使用它。