自定义Excel公式函数UDF来计算条件格式

有没有人跑过一个实际上使用条件格式的函数?

有一些kutools和albebits插件,但他们不是基于公式(你必须手动select所有的东西)

我发现这个,但只适用于手动格式

Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean) Dim rCell As Range Dim lCol As Long Dim vResult lCol = rColor.Interior.ColorIndex If SUM = True Then For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = WorksheetFunction.SUM(rCell) + vResult End If Next rCell Else For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = 1 + vResult End If Next rCell End If ColorFunction = vResult End Function 

继@Jeeped和@Comintern …

这适用于我 – 一个简单的例子:

 Function WrapCountReds(rRange) WrapCountReds = rRange.Parent.Evaluate("CountReds(" & _ rRange.Address(False, False) & ")") End Function 'can't call this directly from a worksheet but can be called via evaluate Public Function CountReds(rRange As Range) Dim rCell As Range Dim vResult For Each rCell In rRange If rCell.DisplayFormat.Interior.ColorIndex = 3 Then vResult = 1 + vResult End If Next rCell CountReds = vResult End Function 

工作表使用示例:

 =WrapCountReds("A1:A100")