我有一个Excel 2010函数,它不断返回#value错误。
该函数计算一个范围内的单元格数,这些单元格是基于指定单元格定义的特定颜色。
我无法真正使用CountIF,因为条件公式很复杂。
如果我将使用该功能选择的相同范围定义为VBA中的Sub,则可以正常工作。
我哪里出错?
Function CountCellsByConditionColor(rData As Range, cellRefColor As Range) As Long
Dim indRefColor As Long
Dim cntRes As Long
Dim cntCells As Long
Dim indCurCell As Long
Application.Volatile
cntRes = 0
indRefColor = cellRefColor.DisplayFormat.Interior.Color
cntCells = rData.CountLarge
For indCurCell = 1 To cntCells
If indRefColor = rData(indCurCell).DisplayFormat.Interior.Color Then
cntRes = cntRes + 1
End If
Next
CountCellsByConditionColor = cntRes
End Function