Solved

# Sum cells that have no formula

Posted on 2014-09-10
193 Views
Hello,
I have data in a ranges (rows) where the cells in the range contain a formula for forecasting.  Users are to overwrite the formula when actual figures are known and I have conditional formatting to highlight the cell.  I would like a formula to sum the actual numbers entered for each row and not include the cells with formulas.  I tried defining a VBA function to test for cell color but it will not pick up conditional formatting changes.

0
Question by:acdecal
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 3
• 3

LVL 19

Expert Comment

ID: 40315626
Since the cell is going to be updated to no longer contain a formula...

I would suggest that you just test for the existence of a forumla...

Dim myCell as range

if myCell.HasFormula then....

or

if not myCell.HasFormula then....
0

Author Comment

ID: 40315632
Is there a non VBA function I can use in a SUMIF ?
0

LVL 19

Expert Comment

ID: 40315697
I don't believe there is a built in one...

but thinking you could use define it like this in vba:

``````Function containsFormula(aCellRange As Range)
containsFormula = aCellRange.HasFormula
End Function
``````

0

Author Comment

ID: 40315743
I tried =SUMIF(AB10:AQ10,ContainsFormula(AB10:AQ10))  but not working.  Any thoughts?
0

LVL 19

Accepted Solution

Ken Butters earned 500 total points
ID: 40315822
You are right sumif... doesn't like that for the criteria....

I tried this... this seemed to do what you are asking:

After adding this vba code... then in your sheet you can use it like this:

=sumIfNoFormula(AB10:AQ10)

it will include in the sum... any of the cells that do NOT contain a formula.

``````Function sumIfNoFormula(aCellRange As Range)
Dim aCell As Range
sumIfNoFormula = 0
For Each aCell In aCellRange
If Not aCell.HasFormula Then
sumIfNoFormula = sumIfNoFormula + aCell.Value
End If
Next
End Function
``````
0

LVL 4

Expert Comment

ID: 40315900
change your formula to make the resulting figure text instead of a number.
=TEXT([formula],"#,###.00")
0

Author Closing Comment

ID: 40316727
That did the trick!  Thanks
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A little background as to how I came to I design this code: Around 5 years ago I designed an add-in that formatted Excel files to a corporate standard, applying different cell colours and font type depending on whether the cells contained inputs,…
You need to know the location of the Office templates folder, so that when you create new templates, they are saved to that location, and thus are available for selection when creating new documents.  The steps to find the Templates folder path are …
The viewer will learn how to create a normally distributed random variable in Excel, use a normal distribution to simulate the return on an investment over a period of years, Create a Monte Carlo simulation using a normal random variable, and calcul…
Graphs within dashboards are meant to be dynamic, representing data from a period of time that will change each time the dashboard is updated with new data. Rather than update each graph to point to a different set within a static set of data, t…