Written by Allen Wyatt (last updated May 31, 2023)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, and 2021
Gavin has a large worksheet that he works with, and he finds it helpful to use the Trace Precedents tool (on the Formulas tab of the ribbon) to figure out what is going on. Gavin would like the setting of the tool to be "turned on" even when he saves the workbook, but Excel doesn't let him do this. He wonders if there is a way to leave it turned on so that the precedents are always marked in the workbook.
One would think that it should be relatively easy to turn on the precedents, via macro, when you open a workbook. All you need to do is use a macro like the following:
Sub ShowTracePrecendents1()
Dim rng As Range
Dim c As Range
With ActiveSheet.UsedRange
Set rng = .Cells.SpecialCells(xlCellTypeFormulas, 23)
End With
Application.ScreenUpdating = False
For Each c In rng
c.ShowPrecedents
Next
End Sub
The macro determines which cells in the worksheet contain formulas (only formula-containing cells can have precedents) and then steps through each of those cells, turning on the display of the precedents.
The problem, of course, is that this approach doesn't do exactly what Gavin wanted. It is probable that Gavin, when working with his data, doesn't turn on the precedents for every single cell, but only for some of the cells. The macro turns on precedent display for all possible cells in the worksheet. If you only want to display the precedents for some cells, you need to specify the cells in the macro.
Sub ShowTracePrecendents2()
Dim rng As Range
Dim c As Range
Set rng = Range("G1:G5,G7:G8")
For Each c In rng
c.ShowPrecedents
Next
End Sub
In order to use the macro effectively, you would need to change the line that sets the rng variable so that it references the cells for which you want precedents displayed.
Regardless of which macro you go with, you can create an "auto open" macro (as discussed in other ExcelTips) that will run it automatically whenever the workbook is opened.
Note:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (13161) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and 2021.
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!
Microsoft routinely adds new functions to Excel, but this may cause problems if your workbook needs to be used by people ...
Discover MoreIf the information you import into Excel is treated as text by the program, you may want to convert it to numeric values. ...
Discover MoreHave you ever wanted to take a "picture" of a part of a worksheet and put it in another section? This tip explains how to ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2020-12-02 02:03:37
John Bentley
And additional tip (which may be obvious for experienced Excel users) ...
In order to quickly fetch the values for Range() in ShowTracePrecendents2(): click in any blank cell and type "=", then hold ctrl while you click the desired cells (including cell ranges if desired). Copy the values entered after the "=".
Anyway thanks Allen for ShowTracePrecendents2(). That elegantly solves the problem!
Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2026 Sharon Parq Associates, Inc.
Comments