Hello man.
Encontré este código por ahí que lo que hace es, a partir de dos celdas, cada una con su formato de fuente, las combina en una sola, manteniendo el contenido de cada una con la fuente que tuviera antes de combinarlas. Quizá a partir de esto sacas lo que necesites.
Saludos.
Código VB.NET:
Ver originalPublic Sub ConcatinateAndFormat()
Dim Cell As Range
For Each Cell In Intersect(ActiveSheet.UsedRange.EntireRow, ActiveSheet.[D3:D65536])
Cell = Cell.EntireRow.Columns("B") & Cell.EntireRow.Columns("C")
Cell.Characters(Start:=1, Length:=Len(Cell.EntireRow.Columns("B"))).Font.Name = Cell.EntireRow.Columns("B").Font.Name
Cell.Characters(Start:=Len(Cell.EntireRow.Columns("B")) + 1, Length:=Len(Cell.EntireRow.Columns("C"))).Font.Name = Cell.EntireRow.Columns("C").Font.Name
Next Cell
End Sub
Y aquí este enlace que también hacen algo parecido
http://www.mrexcel.com/archive/VBA/9035.html