自定义格式化数字的方式,使文本具有某种指定的颜色

时间:2014-08-05 23:37:21

标签: excel excel-2007

我试图在excel中应用自定义格式后找到一种更改文本颜色的方法。

让我们假设我的列中的值是2,3和1

enter image description here

如果我按照以下公式自定义此单元格

[<=1]0.0 "year";[>1]0.0 "years"

现在单元格看起来像

enter image description here

现在我想改变&#34;年&#34; /&#34;年&#34;只说一些红色,但没有任何方式。

搜索很多,并且只使用其他颜色来改变完整单元格的字体颜色。

[Red][<=1]0.0 "year";[Red][>1]0.0 "years"

请帮助实现这一目标。

注意:我不想为此使用VBA。

2 个答案:

答案 0 :(得分:0)

我认为您无法通过用户界面执行此操作。但是,从VBA可以做到: http://vbadud.wordpress.com/2007/11/03/excel-vba-change-font-color-for-part-of-text/

答案 1 :(得分:0)

Range.NumberFormat property (Excel) 更改单元格中值的外观,而不更改实际值。它可用于更改整个 Number format code 部分的颜色(即正数、负数、零和文本),就像此代码格式一样:

[Blue] #.0 "Positive";[Red] #.0 "Negative";[Green] - "Zero    ";[Magenta]@ "Text"

enter image description here

但是,它不能部分改变部分的颜色。

请注意,单元格 [B7] 和 [D7] 具有 SUM 公式以分别添加范围 [B3:B6] 和 [D3:D6]。

使用 VBA:
Range.Characters property (Excel) 可用于更改单元格文本内容 Characters 的外观,就像此代码对范围 [B3:B6] 所做的那样:

Sub Characters_FontColor()
Dim Cll As Range, b As Byte

    For Each Cll In ThisWorkbook.Sheets("TEST").Range("B3:B6")
        With Cll
            For b = 1 To Len(.Value)
                .Characters(b, 1).Font.ColorIndex = 2 + b
    Next: End With: Next

End Sub

enter image description here

请注意,对于 [B3:B5] 中的单元格,该过程更改了单元格的字体颜色,而不是像单元格 [B6] 中的每个 Character,这是因为这些单元格的内容不是文字。

关于 Op 的要求:

<块引用>

我正在尝试找到一种在 Excel 中应用自定义格式后更改文本颜色的方法。

  • 可以更改整个部分的自定义格式文本颜色。
<块引用>

现在我只想将“Year”/“years”单词的颜色更改为某种红色,但没有任何办法。

  • 自定义格式的文本颜色不能在一个部分内部分更改。
<块引用>

搜索了很多,只有一种方法可以使用此方法将整个单元格的字体颜色更改为其他颜色。

  • 那个自定义格式没有改变单元格的字体颜色,它只是改变了自定义格式中部分的外观。要对此进行测试,请检查单元格的字体颜色,您会看到它在应用自定义格式之前保持为 Automatic 或其他任何内容。
<块引用>

我不想为此使用 VBA。

  • VBA 无法做到这一点。如前所述,自定义格式仅更改单元格的外观,单元格的值保持输入状态,这允许在公式中使用 cells.value。在 VBA 中使用 Characters 允许更改部分文本的颜色,但为了使用它,cells.value 必须是一个文本字符串,但是单元格的 sum 将为零。要对此进行测试,请将过程 Characters_FontColor 应用于范围 [D3:D6],您将看不到任何变化。