如何使用VBA设置Excel单元格的背景颜色?

时间:2008-12-13 11:39:09

标签: excel vba excel-vba

作为VBA计划的一部分,我必须根据它们的值将某些细胞的背景颜色设置为绿色,黄色或红色(基本上是绿色正常的健康监视器,黄色是临界线,红色是危险的)。

我知道如何设置这些单元格的值,但如何设置背景颜色。

5 个答案:

答案 0 :(得分:42)

您可以使用:

ActiveCell.Interior.ColorIndex = 28

ActiveCell.Interior.Color = RGB(255,0,0)

答案 1 :(得分:12)

这是您应该使用宏录制器的完美示例。打开录像机并通过UI设置细胞的颜色。停止录像机并查看宏。它会生成一堆无关的代码,但它也会显示适合您要完成的语法的语法。删除你不需要的东西并修改(如果你需要)剩下的东西。

答案 2 :(得分:0)

或者你不能打扰它的编码并使用Excel中的'条件格式化'功能,它将根据单元格值设置背景颜色和字体颜色。

此处只有两个变量,因此将默认值设置为黄色,然后在值大于或小于阈值时覆盖。

答案 3 :(得分:0)

快速执行“记录宏”以查看与您要寻找的颜色相关的颜色编号(黄色高亮显示为65535)。然后删除代码并放入

Sub Name()
Selection.Interior.Color = 65535 '(your number may be different depending on the above)
End Sub

答案 4 :(得分:-3)

如果使用Function,它不起作用,但如果使用Sub则无效。但是,您无法使用公式从单元格中调用sub。