Excel.Tips.Net Welcome toExcel.Tips.Net

Helpful Links

Tips.Net Home
ExcelTips Home
Ask an Excel Question
Make a Comment

Tips.Net Store

ExcelTips FAQ
ExcelTips Premium

Learn Access Now
Free Printable Forms

Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Legal Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Wedding Tips
Word2007 Tips
WordTips

Advertise on the
ExcelTips Site

Newest Tips

Converting to Octal

Filtering Columns for Unique Values

Printing Multiple Worksheets on a Single Page

Changing the Default Font

Creating a Drawing Object

Determining a Value of a Cell

Understanding Macros

 

Counting Precedents and Dependents

Summary: Do you need to know how many precedents or dependents there are on a worksheet? You could count them manually, or you could let a short macro derive the information for you. (This tip works with Microsoft Excel 97, Excel 2000, Excel 2002, Excel 2003, and Excel 2007.)

Because Excel allows you to create formulas that refer to other cells, it stands to reason that cells can be dependent on each other. In fact, Excel has two technical terms that are used to define the relationship between cells: precedents and dependents. Precedents are those cells on which a formula is based. Thus, if cell A5 contains the formula =A3 + A4, then both A3 and A4 are precedents for cell A5. Dependents are the reverse of precedents. Thus, in this example, cell A5 is a dependent of cells A3 and A4. You can use the auditing tools in Excel to graphically depict these relationships between cells, as described in other issues of ExcelTips.

What if you want to know how many dependents and precedents there are in a worksheet, however? There is no Excel command that displays this information. You can use a macro to calculate and display this information, however. The following macro will do just that:

Sub CountDependentsPrecedents()
    Dim ws As Worksheet
    Dim lDep As Long
    Dim lPre As Long

    On Error GoTo err
    For Each ws In Worksheets
        ws.Select
        lDep = 0
        lPre = 0
        lDep = Range("a1:iv65536").Dependents.Count
        lPre = Range("a1:iv65536").Precedents.Count
        MsgBox "Worksheet: " & ActiveSheet.Name & vbCr & _
          "Dependents: " & lDep & vbCr & _
          "Precedents: " & lPre
    Next ws
    Exit Sub
err:
    Resume Next
End Sub

When you run this macro, it steps through each worksheet in your workbook and displays the number of dependents and precedents in each.

You should note that the macro only checks the cells in the range A1:IV65536. This is for compatibility with versions of Excel up through Excel 2003. If you are using Excel 2007 and you will have cells outside of this range that contain formulas or values, then you'll want to modify the range that is checked in the macro.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2015) applies to Microsoft Excel versions: 97 | 2000 | 2002 | 2003 | 2007

Step Up and Take Control! Subscribers to ExcelTips know just how valuable a resource it is. ExcelTips Premium provides twice the number of exceptional, easy-to-understand tips every week in an ad-free newsletter, as well as substantial discounts on ExcelTips archives and e-books.
 
Check out ExcelTips Premium today!