【发布时间】:2015-04-08 15:32:15
【问题描述】:
尝试使用这段 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 函数之前调用的条件格式有关,但我没有运气:(
【问题讨论】:
-
CF 不会改变
Interior.Color属性。您最好使用一个计算符合您条件的单元格的公式。从 2010 年开始,有一个Displayformat属性反映了显示的格式,但它在从单元格调用的 UDF 中不起作用。 -
啊,我不知道那是我。感谢您的帮助,为我指明了正确的方向:))