Written by Allen Wyatt (last updated November 7, 2020)
This tip applies to Excel 97, 2000, 2002, and 2003
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:

Figure 1. The Go To Special dialog box.
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:
=GET.CELL(48,INDIRECT("rc",FALSE))
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
Note:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2766) applies to Microsoft Excel 97, 2000, 2002, and 2003.
Best-Selling VBA Tutorial for Beginners Take your Excel knowledge to the next level. With a little background in VBA programming, you can go well beyond basic spreadsheets and functions. Use macros to reduce errors, save time, and integrate with other Microsoft applications. Fully updated for the latest version of Office 365. Check out Microsoft 365 Excel VBA Programming For Dummies today!
If you need to change the color with which a particular cell is filled, the easier method is to use the Fill Color tool, ...
Discover MoreCells in a worksheet defined by the intersection of rows and columns. If you adjust row height and column width just ...
Discover MoreIf you need to change fonts used in a lot of different workbooks, the task can be daunting, if you need to do it ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2022-02-11 15:36:52
HarryS
Private Sub ShowFormula_Click()
Dim RaLook As Range: Set RaLook = Range([e2]) ' cell E2 has range like D9:J14
Dim wRa As Range
Dim HasColor: HasColor = [c2].Interior.Color ' fill C2 with desired color
Dim HasNotColor: HasNotColor = [D2].Interior.Color ' leave D2 with none or color
For Each wRa In RaLook
If wRa.HasFormula Then
wRa.Interior.Color = HasColor
Else
wRa.Interior.Color = HasNotColor
End If
Next wRa
End Sub
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.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2025 Sharon Parq Associates, Inc.
Comments