Try this.

Code:
Option Explicit

Private Sub HighlightText(sKeyword As String, iColour As Long)

    Dim nStart As Integer, sPrevChar As String, sNextChar As String
                         
    nStart = InStr(1, LCase(RichTextBox1.Text), sKeyword)
                                                                                           
    Do While nStart <> 0
        If nStart > 1 Then
            sPrevChar = Mid$(RichTextBox1.Text, nStart - 1, 1)
        Else
            sPrevChar = " "
        End If
                                                        
        
        If Len(RichTextBox1.Text) >= nStart + Len(sKeyword) Then
            sNextChar = Mid$(RichTextBox1.Text, nStart + Len(sKeyword), 1)
        Else
            sNextChar = " "
        End If
                                                           
        
        If (sPrevChar = Chr(32) Or sPrevChar = Chr(13) Or _
        sPrevChar = Chr(10) Or sPrevChar = Chr(9)) And _
        (sNextChar = Chr(32) Or sNextChar = Chr(13) Or _
        sNextChar = Chr(10) Or sNextChar = Chr(9)) Then
            With RichTextBox1
            .SelStart = nStart - 1
            .SelLength = Len(sKeyword)
            .SelColor = iColour
            .SelText = UCase(sKeyword)
            .SelStart = Len(RichTextBox1.Text)
            .SelColor = vbBlack
            End With
        End If
                                                  
        nStart = InStr(nStart + Len(sKeyword), LCase(RichTextBox1.Text), sKeyword)
    Loop

End Sub

Private Sub RichTextBox1_Change()

    With RichTextBox1
        .SelStart = 0
        .SelLength = Len(.Text)
        .SelColor = vbBlack
        .SelStart = Len(.Text)
    End With
                                 
    ' Add more custom words here
    HighlightText "blue", vbBlue
    HighlightText "yellow", vbYellow
    HighlightText "red", vbRed
    HighlightText "magenta", vbMagenta
    HighlightText "green", vbGreen
 
End Sub