The Replace function does not seem to keep formatting when applied to cells with more than one format (different fonts, sizes, superscript/subscript, etc).
Is there a way to keep the formats intact?
The example below replaces the characters "and" with "but", but all other formatting is lost.
Sub Replace_and_keep_Format()
Dim cell As Range, sentence As String
    For Each cell In Selection
        With cell
                sentence = Replace$(.Value, "and", "but")
                .Value = Left$(sentence, Len(sentence) - 0)
        End With
    Next cell
End Sub