更改单元格中文本部分的字体颜色

我有单元格将包含下面的值

"Image not allowed|png" 

我想单独改变| png的颜色,或者改变“|”

现在我试图改变使用下面的代码的字体颜色

 Cells(4,2).Font.Color = RGB(255, 50, 25) 

它会改变整个单元格的字体颜色,是否可以使用VBA只更改所选的文本颜色( |png )?

这应该是一个好的开始:

 Sub vignesh() Dim StartChar As Integer, _ LenColor As Integer For i = 1 To 5 With Sheets("Sheet1").Cells(i, 1) StartChar = InStr(1, .Value, "|") If StartChar <> 0 Then LenColor = Len(.Value) - StartChar + 1 .Characters(Start:=StartChar, Length:=LenColor).Font.Color = RGB(255, 0, 0) End If End With Next i End Sub 

是的,这是可能的。 探索Excel对象模型的一个好方法是使用macroslogging器来logging一个macros,在那里你手动执行你感兴趣的操作。

在这种情况下,您可以使用:

 Cell.Characters(Start:=1, Length:=5).Font 

在单元格中设置子string的字体属性。

是否可以只更改所选的文字颜色

简单

 Option Explicit Sub Test() With Selection.Font .ColorIndex = 3 End With End Sub