是否可以在Excel单元格中执行多个彩色文本?

pha*_*han 6 string excel vba text colors

我有字符串strInfo,其中包含"Employee John Maybach".

如何将"员工"部分设为黑色文本,将"约翰迈巴赫"部分设为红色?

"员工"部分将始终保持不变,但员工的姓名部分将更改为可能是由两部分组成的名称(John Doe),或者由三部分组成的名称(John Allen Doe)或仅仅是名字(约翰).

我希望"员工"这个词总是黑色的,但是单元格中的其余部分,即名称部分,都是红色的.这可能吗?

ass*_*ias 7

宏记录器是你的朋友:

Dim fixedLength As Long
fixedLength = Len("Employee")
ActiveCell.FormulaR1C1 = "Employee Some Employee"
With ActiveCell.Characters(Start:=fixedLength + 2, Length:=Len(ActiveCell) - fixedLength - 1).Font
    .Color = vbRed
End With
Run Code Online (Sandbox Code Playgroud)

  • 由于工作簿可以使用不同的调色板,因此使用"ColorIndex"可能会得到不同的结果,因此像`.Color = vbRed`这样的东西可能更安全. (4认同)