如何使用VBA设置Excel单元格的背景颜色?
问题描述:
作为VBA程序的一部分,我必须根据它们的值(基本上健康监视器,绿色是好的,黄色是边界,红色是危险的),将某些单元格的背景颜色设置为绿色,黄色或红色。如何使用VBA设置Excel单元格的背景颜色?
我知道如何设置这些单元格的值,但是如何设置背景颜色。
答
您可以使用:
ActiveCell.Interior.ColorIndex = 28
或
ActiveCell.Interior.Color = RGB(255,0,0)
答
或者你也不能打扰编码,并使用Excel中的“条件格式”功能将设置背景颜色和基于单元格值的字体颜色。
这里只有两个变量,所以将默认值设置为黄色,然后在值大于或小于阈值时覆盖。
答
这是一个完美的例子,你应该使用宏记录器。打开录像机并通过UI设置单元格的颜色。停止录像机并查看宏。它会产生一堆无关的代码,但它也会显示出适用于你正在尝试完成的语法。剥去你不需要的东西,并修改(如果你需要的话)剩下的东西。
答
如果您使用Function,它不起作用,但如果您使用Sub,则工作。但是,您不能使用公式从单元格调用子对象。
答
对于colorindex我去http://dmcritchie.mvps.org/excel/colors.htm。当我在Excel 2011中记录着一个单元格的着色时,我得到的只是单元格被选中。请注意,Excel 2011和2010没有相同的颜色索引表。请参阅我的网页http://uhaweb.hartford.edu/ltownsend/excel.html#colorindex进行比较。
在第一个示例中,您如何知道ColorIndex指向哪种颜色? – awe 2011-12-07 09:59:02