Coloring Cells with Formulas

by Allen Wyatt
(last updated July 13, 2013)

3

Cells in a worksheet can contain values or they can contain formulas. At some time, you may wish to somehow highlight all the cells in your worksheet that contain formulas by coloring those cells. There are several ways you can approach and solve this problem. If you don't have a need to do the highlighting that often, a manual approach may be best. Follow these steps:

  1. Press either F5 or Ctrl+G. Excel displays the Go To dialog box.
  2. Click Special. Excel displays the Go To Special dialog box. (See Figure 1.)
  3. Figure 1. The Go To Special dialog box.

  4. Select the Formulas radio button.
  5. Click OK.

At this point, every cell in the worksheet that contains formulas is selected, and you can add color to those cells or format them as desired. This approach can be automated, if desired, by using a macro like the following:

Sub ColorFormulas()
    ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas, 23).Select
    With Selection.Interior
        .ColorIndex = 6
        .Pattern = xlSolid
    End With
End Sub

You can run this macro as often as necessary in order to highlight the various cells that contain formulas. The only problem is that if a formula is deleted from a cell that was previously highlighted, the highlighting remains; it is not removed automatically. In this case, a different macro approach is mandated. This macro acts on a range of cells you select before running the macro.

Sub ColorFunction()
    For Each cell In Selection
        If cell.HasFormula Then
            With cell.Interior
                .ColorIndex = 6
                .Pattern = xlSolid
            End With
        Else
            cell.Interior.ColorIndex = xlNone
        End If
    Next cell
End Sub

The macro checks each cell in the range. If the cell contains a formula, then it is highlighted. If the cell does not contain a formula, then the highlight is turned off.

Another potential solution is to use a user-defined function along with the conditional formatting capabilities of Excel. Create the following function in the VBA Editor:

Function CellHasFormula(c As Range) As Boolean
    CellHasFormula = c.HasFormula
End Function

With this function in place, you can use the conditional formatting capabilities of Excel (detailed elsewhere in ExcelTips) to check what the formula returns. In other words, you would set a conditional format that checked the result of this formula:

=CellHasFormula(A1)

If the result is true (the cell contains a formula), then your conditional format is applied.

It is interesting to note that you don't have to create a VBA macro to use the conditional formatting route, if you don't want to. (Some people have a natural aversion to using macros.) Instead, you can follow these steps:

  1. Press Ctrl+F3. Excel displays the Define Name dialog box.
  2. In the Names field (at the top of the dialog box), enter a name such as FormulaInCell.
  3. In the Refers To field (at the bottom of the dialog box), enter the following:
  4. =GET.CELL(48,INDIRECT("rc",FALSE))
    
  5. Click OK.

Now you can follow the techniques previously outlined for setting up the conditional formatting. The only difference is that the conditional format should check for the following formula, instead:

=FormulaInCell

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2766) applies to Microsoft Excel 97, 2000, 2002, and 2003.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He  is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Debugging a Macro

Create a macro and you are faced with the (sometimes) challenge of debugging it. Here's how to make that task as simple as ...

Discover More

Flush Left and Flush Right On the Same Line

Want some text at the left margin and some at the right, all on the same line? It's easy to do if you use your tab stops ...

Discover More

Excel Conditional Formatting (Special Offer)

Excel Conditional Formatting can show you how to format your worksheet data for maximum impact. Another way to ...

Discover More

Save Time and Supercharge Excel! Automate virtually any routine task and save yourself hours, days, maybe even weeks. Then, learn how to make Excel do things you thought were simply impossible! Mastering advanced Excel macros has never been easier. Check out Excel 2010 VBA and Macros today!

More ExcelTips (menu)

Changing the Default Font

If you don't like the font that Excel uses, by default, in a workbook, you can change it. Here's how.

Discover More

Creating Two-Line Custom Formats

Creating custom formats is a very powerful way to display information exactly as you want it to appear. Most custom formats ...

Discover More

Changing Fonts in Multiple Workbooks

If you need to change fonts used in a lot of different workbooks, the task can be daunting, if you need to do it manually. ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 8Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is 6 - 4?

2017-02-03 05:57:58

fred

Hello There
this is phils comment below
"Why not simply use =ISFORMULA(A1) for the conditional rule, where A1 is replaced by the top left cell in the [Applies to] range? I have implemented this technique, and it avoids any security issues associated with enabling macros."
Lets say
I want to automatically color cells that contain formulas light blue

my question is will this condition automatically apply or will it have to be called by some keystroke?
in other words if I enter a formula into a blank cell will the rule automatically apply when the cursor leaves the cell ? and If I then delete the formula will the cell colour change to "no color"?


2016-12-22 06:31:47

Willy Vanhaelen

@Phil

This tip is for Excel 97 -> 2003. =ISFORMULA is only introduced in Excel 2013, so it cannot be used in earlier versions.


2016-12-21 15:41:39

Phil

The GET.CELL macro is still treated like a UDF, requiring user permission to enable macros when the file is opened.

Why not simply use =ISFORMULA(A1) for the conditional rule, where A1 is replaced by the top left cell in the [Applies to] range? I have implemented this technique, and it avoids any security issues associated with enabling macros.


This Site

Got a version of Excel that uses the menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)? This site is for you! If you use a later version of Excel, visit our ExcelTips site focusing on the ribbon interface.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.