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

作为VBA程序的一部分,我必须根据它们的值(基本上是一个健康监视器,绿色是好的,黄色是边界和红色是危险的),将某些单元格的背景颜色设置为绿色,黄色或红色。

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

您可以使用:

ActiveCell.Interior.ColorIndex = 28 

要么

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

这是您应该使用macros录像机的最佳例子。 打开录像机,通过用户界面设置单元格的颜色。 停止logging器并查看macros。 它会产生一堆无关的代码,但是它也会显示出你所要完成的语法。 剥离你不需要和修改(如果你需要)剩下的东西。

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

这里只有两个variables,所以将默认值设置为黄色,然后在值大于或小于阈值时覆盖。

如果您使用Function,则不起作用,但如果您使用Sub,则起作用。 但是,您不能使用公式调用单元格中的子对象。

对于colorindex我去http://dmcritchie.mvps.org/excel/colors.htm 。 当我在Excel 2011中logging着一个单元格时,我得到的是单元格被选中。 请注意,Excel 2011和2010没有相同的颜色索引表。 查看我的网页http://uhaweb.hartford.edu/ltownsend/excel.html#colorindex进行比较。