Вот что он мне выдал:
Sub Ìàêðîñ1()
'
' Ìàêðîñ1 Ìàêðîñ
'
'
Range("D6").Select
ActiveCell.FormulaR1C1 = "lnlnltrttrtretetetelnlnln"
With ActiveCell.Characters(Start:=1, Length:=9).Font
.Name = "Calibri"
.FontStyle = "îáû÷íûé"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
With ActiveCell.Characters(Start:=10, Length:=10).Font
.Name = "Calibri"
.FontStyle = "îáû÷íûé"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.Color = -16776961
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
With ActiveCell.Characters(Start:=20, Length:=6).Font
.Name = "Calibri"
.FontStyle = "îáû÷íûé"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Range("D7").Select
End Sub
Убрать все лишнее и будет работать.
Для ТС
Строку лучше переписывать целиком в переменную, вычислять начало и конец заменяемого фрагмента функцией Instr(), заменять фрагмент функцией Replace(), сохранять в ячейку и красить, как это делает макрорекодер.