自定义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")