Código:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, ))) Is Nothing Then
Dim o As Range, R As Range, B As Range, c As Range, palabras As Variant, t As Variant
Dim celdaActiva As Range
Set o = Range("")
Set R = Range("")
Set B = Range("")
Set celdaActiva = ActiveCell
Application.EnableEvents = False
R.Value = o.Value
For Each c In R
c.Characters.Font.Bold = False
palabras = Split(c.Text, " ")
For Each t In palabras
If WorksheetFunction.CountIf(B, t) > 0 Then
c.Characters(InStr(c.Text, t), Len(t)).Font.Bold = True
End If
Next t
Next c
Application.EnableEvents = True
If Not celdaActiva Is Nothing Then celdaActiva.Select
End If
End Sub