0

我已经尝试了一段时间。我快到了,但我的 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

结束子

4

1 回答 1

0

可能对你有帮助

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

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

于 2013-03-18T07:22:59.373 回答