As you have found, conditional formatting applies to the entire cell. There is no way to make it format only part of a cell.
Do the cells in the Client column contain a formula? If so, you cannot do it another way either, for you cannot format part of the result of a formula differently from the rest.
You could do the following:
- C3:C6 should just contain the names of the clients, not formulas.
- Right-click the sheet tab.
- Select 'View Code' from the context menu.
- Copy the code listed below into the worksheet module.
- Switch back to Excel.
- Save the workbook as a macro-enabled workbook (.xlsm).
- Make sure that you allow macros when you open the workbook.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim s As String
Dim v As String
Dim rng As Range
If Not Intersect(Range("B3:B6"), Target) Is Nothing Then
Application.ScreenUpdating = False
Application.EnableEvents = False
s = Range("B2").Value
s = Left(s, Len(s) - 1)
For Each rng In Intersect(Range("B3:B6"), Target)
v = rng.Offset(0, 1).Value
If rng.Value = "Yes" Then
If Right(v, Len(s)) <> s Then
rng.Offset(0, 1).Value = v & " " & s
rng.Offset(0, 1).Characters(Start:=Len(v) + 2, Length:=Len(s)).Font.Color = vbBlue
End If
ElseIf Right(v, Len(s)) = s Then
rng.Offset(0, 1).Value = Left(v, Len(v) - Len(s) - 1)
End If
Next rng
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
End Sub