How to highlight selected text within excel

calendar_today Asked Jul 26, 2012
thumb_up 10 upvotes
history Updated April 16, 2026

Question posted 2012 · +2 upvotes

I would like to write a VBA function to highlight specific text within an excel cell. Is this possible? I’ve been googling but it’s unclear at this point.

to clarify, I would like to search a specific column for a text value (actually a list of values) and highlight the matched text in say yellow.

Note: this is what I ended up doing:

  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

Accepted answer +10 upvotes

This is the basic principle, I assume that customizing this code is not what you are asking (as no details about this were provided):

 Sub Colors()

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

 End Sub

Small description although it speaks quite for itself: the first “2” refers to the first character that needs to be colored, the second “2” refers to the length.

VBA Core objects referenced (3)

  • Font.Color — Change the Color of the Horizontal Axis of a Sparkline
  • Range — Refer to Cells by Using a Range Object
  • Range — Delete Duplicate Entries in a Range

Top vba Q&A (6)

+10 upvotes ranks this answer #40 out of 81 vba solutions on this site .
vba