【发布时间】:2019-12-03 20:42:15
【问题描述】:
当其内容具有某种字体颜色(例如黑色)时,我需要添加范围的值。我有一张表格,我在其中有条件地格式化值的颜色。例如,如果“状态 = 结转”,那么我将行着色为红色。 (见附件)。
现在,在条件格式化之后,我想将特定列下所有 NOT 红色的数值相加。
我有一段 vba 代码来添加这样的值,但问题是,条件着色正在抛出代码。只要我手动为行着色,代码就会忽略红色行。如果我使用条件着色选项,那么即使是彩色行也会被考虑在内。
我使用这个公式调用下面的 UDF =ConditionalColorSum(C2:C30)
Public Function ConditionalColorSum(rnge As Range) As Double
' Total only cells with red font numbers
Application.Volatile
Dim Total As Double, cl As Range
Total = 0
For Each cl In rnge.Cells
If cl.Font.Color = vbRed Then 'Change 'vbRed' to the color you want
Total = Total + cl.Value
End If
Next
ConditionalColorSum = Total
End Function
条件格式公式如上所示:
【问题讨论】:
标签: excel vba conditional-formatting