计算彩色单元格并不适用于Excel中的条件格式

时间:2015-04-08 15:32:15

标签: excel vba excel-vba

尝试使用此VBA代码计算工作表中某些彩色单元格的数量:

Function CountRed(MyRange)
CountRed = 0
For Each Cell In MyRange
If Cell.Interior.Color = RGB(255, 0, 0) Then
CountRed = CountRed + 1
End If
Next Cell
End Function

基本上,计算红细胞的数量。现在,如果我自己对它们进行着色,但是如果我在工作表中添加条件格式以对这些单元格进行着色,则它无法正常工作。

这是我的条件:

=AND(NOT(ISBLANK(A3)),ISBLANK(D3))

基本上,如果填充了第一个单元格而没有填充第一个单元格,则将其着色为红色。

现在当我使用'CountRed'函数来查看这个单元格(条件格式的单元格)是否为红色时它不起作用,但是当我'覆盖'它时,即自己填充红色并再次运行它的工作原理。

我想也许这与在CountRed函数之前调用的条件格式有关,但我没有运气:(

1 个答案:

答案 0 :(得分:1)

这是因为条件格式不是Interior.color集合的一部分,因此无法读取或计算。根据具有条件格式的单元格中的基础值,您可以改为计算文字值。

例如,将单元格值设置为红色,绿色,黄色,但设置条件格式设置以将背景颜色和前景色设置为相同。 (即红色为红色,绿色为绿色等)。这样您就可以计算一些东西。使用您要解释的值将条件颜色作为要计数的列。