我正在尝试在 VBA 中创建一个用户定义的函数,该函数计算给定范围内将特定填充颜色作为条件格式的一部分应用的单元格数量。
按照我的设计,此函数需要两个参数:1) 如果单元格具有特定填充颜色,则要计算的单元格范围,以及 2) 应用了所需填充颜色的单元格。
当我在函数参数框 (Shift+F3) 中检查结果预览时,以下函数似乎工作正常,当我在单元格中 F9 公式时,但当我在工作表中输入单元格并按 Enter 时,以下函数似乎工作正常(在这种情况下,它似乎只是在计算范围内的单元格数量,而没有检查它是否有效地具有足够的填充颜色)。
Function CountCcolor(Cells As Range, Color As Range)
Application.Volatile True
Dim Rng As Range
On Error Resume Next
For Each Rng In Cells
If Rng.DisplayFormat.Interior.Color = Color.DisplayFormat.Interior.Color Then
CountCcolor = CountCcolor + 1
End If
Next
End Function
对可能导致这种奇怪行为的原因有什么想法吗?
希望我已经说清楚了,并在此先感谢您的帮助。