【发布时间】:2016-08-06 07:18:28
【问题描述】:
我正在尝试在 Excel 2016 中使用类似 COUNTIF 的函数按背景颜色汇总一系列单元格... 3 种不同颜色(绿色、黄色、红色)代表 3 个不同的“状态”(第一个最大,第二大,第三大)。我设法通过使用此 VBA 编码使其工作:
Function Countcolour(rng As Range, colour As Range) As Long
Dim c As Range
Application.Volatile
For Each c In rng
If c.Interior.ColorIndex = colour.Interior.ColorIndex Then
Countcolour = Countcolour + 1
End If
Next
End Function
但是,此特定代码并未考虑条件格式。
例如,我尝试有条件地格式化一组数据,以突出显示其第一个最大值绿色、第二大黄色、第三大红色。我在另一个块中使用这个 VBA 函数来计算所有绿色高光。但是,由于条件格式,它不会拾取单元格的背景颜色。
我确定我遗漏了一些明显的东西......我觉得If 条件的第一部分应该是c.FormatCondition.Interior 的某种形式,但我尝试了主题的变体,但没有成功。
提前感谢您提供的任何帮助!
【问题讨论】:
-
如果条件格式颜色根据提供给条件格式的公式发生变化,请在 VBA 中使用该公式。