作为 VBA 程序的一部分,我需要根据某些单元格的值将它们的背景颜色设置为绿色、黄色或红色(基本上是一个健康监控,其中绿色表示正常、黄色表示边缘状态、红色表示危险状态)。
我知道如何设置这些单元格的值,但是如何设置背景颜色呢?
我知道如何设置这些单元格的值,但是如何设置背景颜色呢?
您可以使用以下任意一种方法:
ActiveCell.Interior.ColorIndex = 28
或者ActiveCell.Interior.Color = RGB(255,0,0)
这是一个使用宏录制器的完美例子。打开录制器并通过用户界面设置单元格的颜色。停止录制并查看宏。它会生成一堆冗余代码,但也会显示出适用于你要完成的任务的语法。剥离掉不需要的内容,并修改(如果需要)剩下的内容。
或者你可以选择不编写代码,而是使用Excel中的“条件格式化”功能,根据单元格值设置背景颜色和字体颜色。
这里只有两个变量,所以将默认值设置为黄色,然后在值大于或小于阈值时进行覆盖。
进行快速的“记录宏”操作,以查看所需颜色的颜色编号(黄色高亮为65535)。然后删除代码并输入。
Sub Name()
Selection.Interior.Color = 65535 '(your number may be different depending on the above)
End Sub
Selection.Interior.Color = &H00FFFF
,其中每对十六进制数字分别定义了红色、绿色和蓝色的值,范围在&H00
到&HFF
之间。 - Léa Gris如果你使用 Function,它是不起作用的,但如果你使用 Sub,则可以。然而,你不能使用公式从单元格调用一个 Sub。