2012-02-27 61 views
5

我有字符串strInfo,其中包含「員工約翰邁巴赫」。是否可以在Excel單元格中執行多個彩色文本?

如何使「員工」部分爲黑色文本,「John Maybach」部分爲紅色?

「員工」部分將始終保持不變,但員工的姓名部分會發生變化,使其可能是由2部分組成的名稱(John Doe)或3部分名稱(John Allen Doe),或者僅僅是一個名字(約翰)。

我希望單詞「Employee」始終爲黑色,但單元格中名稱部分的其餘部分爲紅色。這可能嗎?

回答

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 
+4

由於工作簿可以有不同的調色板,你可能得到使用'ColorIndex'不同的結果,所以像'。顏色= vbRed'可能是更安全的。 – 2012-02-27 21:45:59

+1

我建議將該邏輯放入一個Worksheet_Change事件宏觀看該列,以便在輸入名稱時自動應用顏色校正。 – 2012-02-27 22:37:06

+0

@TimWilliams良好的發現。編輯。 – assylias 2012-02-28 09:20:34

相關問題