【问题标题】:Is it possible to do multiple colored text within an Excel cell?是否可以在 Excel 单元格中执行多个彩色文本?
【发布时间】:2012-03-17 04:49:46
【问题描述】:

我有字符串 strInfo,其中包含“Employee John Maybach”。

如何将“Employee”部分设为黑色文本,将“John Maybach”部分设为红色?

“员工”部分将始终保持不变,但员工的姓名部分会发生变化,使其可能是 2 部分名称 (John Doe),或 3 部分名称 (John Allen Doe),或者只是一个名字(约翰)。

我希望“员工”一词始终为黑色,但单元格中的其余文本(姓名部分)为红色。这可能吗?

【问题讨论】:

    标签: string excel vba text colors


    【解决方案1】:

    宏记录器是你的朋友:

    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
    

    【讨论】:

    • 由于工作簿可以有不同的调色板,使用ColorIndex 可能会得到不同的结果,所以像.Color = vbRed 这样的东西可能更安全。
    • 我建议将该逻辑放入观察该列的 Worksheet_Change 事件宏中,以便在您键入名称时自动应用颜色校正。
    • @TimWilliams 不错。已编辑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多