This site will look better if you upgrade to a browser that supports web standards.
XL has no native functions that are based on cell formatting. This function will sum cells that have the bold formatting applied.
One problem is that there are no events that fire when cell formatting is changed. While using Application.Volatile causes the cell to recalculate any time a calculation is done on the worksheet, this means that the cell may not contain a valid value unless a manual calculation (e.g., F9) is performed.
Put this in a regular code module.
'****************************************************** 'Purpose: Sum cells with bold formatting applied 'Inputs: vInput - array of one or more input ranges 'Returns: Sum of cells in vInput with bold formatting '****************************************************** Public Function SumBold( _ ParamArray vInput() As Variant) As Variant Dim rParam As Variant Dim rCell As Range Dim vTemp As Variant Application.Volatile On Error GoTo ErrHandler For Each rParam In vInput If TypeName(rParam) = "Range" Then With rParam For Each rCell In Intersect( _ .Cells, .Cells.Parent.UsedRange) With rCell If .Font.Bold Then If IsError(.Value) Then vTemp = .Value Exit For ElseIf VarType(.Value2) = vbDouble Then vTemp = vTemp + .Value2 End If End If End With Next rCell End With End If Next rParam SumBold = vTemp Continue: On Error GoTo 0 Exit Function ErrHandler: 'Check for overflow If Err.Number = 6 Then SumBold = CVErr(xlErrNum) Resume Continue End Function
Thanks to Harlan Grove for pointing out that the .Value2 property was appropriate to use here, rather than .Value.
This page last updated
© Copyright 2001 - 2004 McGimpsey and Associates. Except where noted, all code on this site may be distributed under the Gnu GPL. Acknowledgement is appreciated.
Not familiar with User Defined Functions (UDFs)? See David McRitchie's Getting Started With Macros
About Event Macros
Sum or Count based on colors