Option Explicit
Sub concatenatAndformat()
Dim lr&, i&, len1&, len2&, len3&, ce1 As Range, ce2 As Range, ce3 As Range
lr = Cells(Rows.Count, "A").End(xlUp).Row
For Each ce1 In Range("A1:A" & lr)
Set ce2 = ce1.Offset(0, 1): Set ce3 = ce1.Offset(0, 2)
len1 = Len(ce1): len2 = Len(ce2): len3 = Len(ce3)
ce3 = ce1 & ce2
For i = 1 To len3
With ce3.Characters(i, 1).Font
Select Case i <= len1
Case True
.Bold = ce1.Characters(i, 1).Font.Bold
.Color = ce1.Characters(i, 1).Font.Color
Case False
.Bold = ce2.Characters(i, 1).Font.Bold
.Color = ce2.Characters(i, 1).Font.Color
End Select
End With
Next
Next
End Sub