如何在Excel中突出显示所选文本

Jac*_*ble 3 excel vba text highlight

我想编写一个VBA函数来突出显示excel单元格中的特定文本.这可能吗?我一直在谷歌搜索,但目前还不清楚.

为了澄清,我想在特定列中搜索文本值(实际上是值列表)并以黄色突出显示匹配的文本.

注意:这是我最终做的事情:

  Sub Colors()


    Dim searchString As String
    Dim targetString As String
    Dim startPos As Integer

    searchString = "abc"
    targetString = Cells(2, 1).Value
    startPos = InStr(targetString, searchString)

    If startPos > 0 Then

        Cells(2, 1).Characters(startPos, Len(searchString)).Font.Color = vbRed

    End If


 End Sub
Run Code Online (Sandbox Code Playgroud)

Tra*_*ace 13

这是基本原则,我假设自定义此代码不是您要求的(因为没有提供有关此内容的详细信息):

 Sub Colors()

 With Range("A1")
    .Value = "Test"
    .Characters(2, 2).Font.Color = vbGreen
 End With

 End Sub
Run Code Online (Sandbox Code Playgroud)

小描述虽然它说得很好:第一个"2"指的是需要着色的第一个字符,第二个"2"指的是长度.


dat*_*too 5

这仅适用于未来的读者试图突出细胞内的特定字符串模式,

(这就是我解释问题的方法)你可以在这个例子中设置F1中搜索的字符串

Sub test4String2color()
Dim strTest As String
Dim strLen As Integer
 strTest = Range("F1")
 strLen = Len(strTest)
For Each cell In Range("A1:D100")
 If InStr(cell, strTest) > 0 Then
  cell.Characters(InStr(cell, strTest), strLen).Font.Color = vbRed
 End If
Next
End Sub
Run Code Online (Sandbox Code Playgroud)