通过HEX或RGB定义Excel自定义数字格式颜色

时间:2017-02-18 03:52:31

标签: excel colors formatting rgb number-formatting

是否可以通过HEX或RGB定义自定义数字格式,如下所示?

[Black][>5]0.0;[Red][<0]-0.0;[Color34]0.0

我正在寻找深橙色(#FF9900),[Orange]无法正常工作。

我已按照this articlefew built in by name的建议尝试了全部56种颜色,但没有一种颜色接近正确的橙色阴影。

内置的少数Excel不包含橙色:

[BLACK][GREEN][RED][BLUE][CYAN][MAGENTA][WHITE][YELLOW]

4 个答案:

答案 0 :(得分:3)

对答案做出评论:

我知道根据值获得不同字体颜色的唯一方法是:

  1. 以数字格式指定颜色 - 对于此Microsoft本身仅记录8个命名的[黑色] ... [红色],甚至[ColorNN]是未记录的黑客。

  2. 条件格式。

  3. 使用VBA。

  4. 要以数字格式指定颜色,需要知道guidelines for customizing a number format。只记录了8种命名颜色[黑色],[绿色],[白色],[蓝色],[洋红色],[黄色],[青色],[红色]。但是对于56种索引颜色,使用[ColorNN]且NN是颜色索引也是可能的。要确定哪些颜色使用哪个索引编制索引,可以使用以下VBA宏:

    Sub UDColorNumberFormats()
     With ActiveSheet
    
      For i = 1 To 56
       sNumberFormat = "[Color" & i & "]0"
       .Cells(i, 1).Value = sNumberFormat
       .Cells(i, 2).NumberFormat = sNumberFormat
       .Cells(i, 2).Value = 888888
       .Cells(i, 3).Interior.ColorIndex = i
      Next
    
     End With
    End Sub
    

    在Excel for Windows(2007年至2016年测试的版本中)中运行此宏将显示[Color45]例如是橙色。但是,如果我们看一下ColorIndex Property的Microsoft文档,我们必须看到,即使Microsoft显示不同的索引颜色。可能只是因为早期版本没有更新?

    正如@Zephyr Mays必须意识到的,Excel for Mac也使用不同的索引颜色。因此,Excel for Mac和Excel for Windows在这一点上并不是100%兼容。但宏也应该在Excel for Mac中运行。因此,可以检查Excel for Mac使用的索引颜色是否是ColorIndex属性文档中显示的颜色。如果是这样,则Excel for Mac使用早于Excel for Excel使用的早期版本的默认调色板。在我看来,这可能被称为错误,可以向微软报告。

    正如我在上面的评论中所指出的,[COLORNN]中使用的颜色指数在Libreoffice / Openoffice Calc中也是不同的。它们甚至与内部颜色指数不同。它们也依赖于平台(64位或32位)。对我来说,64位Ubuntu中的Libreoffice有64种颜色索引(1-64)可用,而32位Windows中的Libreoffice只有32种颜色索引(1-32)可用。但是这种行为不是一个错误,因为Libreoffice / Openoffice Calc不是100%兼容Excel并且不希望它出现。

答案 1 :(得分:0)

如何使用:

Cells(1, 1).Interior.Color = RGB(&HFF, &H99, &H0)

答案 2 :(得分:0)

我已经看过许多这样的线程,但是在CELLS中为数字着色的最简单解决方案是使用条件格式。

但是对于CHARTS,最简单的方法是使用基本字体格式设置选项-您可以在此处指定任何十六进制值。例如,如果您只想给负数上色,则可以通过在数字格式代码中对其进行编辑来覆盖正数的字体格式。

例如:我想在图表刻度上为深红色(不是Excel预编码的56种颜色之一)涂负数。

  1. 选择图表的y轴,转到工具栏中的字体选项,然后将整个轴变为深红色。
  2. 要再次将正数变为黑色,请转到格式轴->轴选项->数字->格式代码。
  3. 然后将正数指定为黑色“ [Color1]#,## 0%;-#,## 0%”。
  4. Voila-只有负数保留深红色,而正数则硬编码为黑色。

您仍然必须将一种颜色设置为56种Excel预设之一,但这可以让您将一种颜色设置为其他颜色。

答案 3 :(得分:0)

看起来 excel 使用 ABGR(Alpha、Red、Green、Blue)而不是 RGBA(Red、Green、Blue、Alpha)。

深橙色,RGB中的#FF9900在excel中应该用#0099FF(#FF0099FF与alpha)。

Cells(1, 1).Interior.Color = &hFF0099FF