Thanks for your reply Millz, I was thinking of using something like this iterative loop to add and color one letter at a time
iExisting_Length = Len(ActiveSheet.Cells(ActiveCell.Row - i, ActiveCell.Column))
For iChar = 1 To Len(ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column))
Char = Mid(ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column).Value, iChar, 1)
ActiveSheet.Cells(ActiveCell.Row - i, ActiveCell.Column).Value = ActiveSheet.Cells(ActiveCell.Row - i, ActiveCell.Column).Value & Char
With ActiveSheet.Cells(ActiveCell.Row - i, ActiveCell.Column).Characters(Start:=iExisting_Length + iChar, Length:=1).Font
.ColorIndex = ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column).Characters(Start:=iChar, Length:=1).Font.ColorIndex
End With
Next iChar
That may be a bit confusing so I've simplified it to this (assume that all necessary variable declarations are made)
iExisting_Length = Len(combined_cell.Value)
For iChar = 1 To Len(other_cell.Value)
Char = Mid(other_cell.Value, iChar, 1)
combined_cell.Value = combined_cell.Value & Char
With combined_cell.Characters(Start:=iExisting_Length + iChar, Length:=1).Font
.ColorIndex = other_cell.Characters(Start:=iChar, Length:=1).Font.ColorIndex
End With
Next iChar
Bookmarks