Named Ranges in Excel: See All Defined Names (Incl. Hidden Names)

Named Ranges in Excel: See and Edit Hidden Names

Excel has a useful feature: Named Ranges. You can name single cells or ranges of cells in Excel. Instead of just using the cell link, e.g. =A1, you can refer to the cell (or range of cell) by using the name (e.g. =TaxRate). Excel also provides the “Name Manager” which gives you a list of defined names in your current workbook. The problem: It doesn’t show all names. Why that is a problem and how you can solve it is summarized in this article.

The problem of hidden defined names

The built-in Name Manager in Excel doesn’t show all defined names

Please take a look at the screenshots below. On the left-hand side you can see the built-in Excel Name Manager (you can access it though Formulas–>Name Manager). The right-hand side is a screenshot of the Excel add-in “Professor Excel Tools” (more to that later). They were both taken with the same Excel workbook.

named range, defined names, hidden, not visible
Left: Built-in Name Manager, Right: Name Manager of Professor Excel Tools

As you can see, the built-in Name Manager only shows none-hidden names. There are 4 names names in this workbook which are not hidden. But there are thousands more defined names in this particular workbook. Excel just doesn’t show them to you.

Why not showing all names is a problem

The problem with not showing all defined names is that you can’t delete them. Because they are hidden. Let’s talk a little bit about defined names in Excel.

  • Defined names are copied with each worksheet. So if your workbook has with thousands of names, they will be copied to a new workbook if you copy one worksheet.
  • Even if you delete the worksheet you copied, the defined names stay. That means, the name just keep accumulating.
  • Besides that the names enlarge the workbook, you might run into trouble when duplicating worksheets. In worst case, you have to confirm the following dialogue box for each name separately.

Solution 1: Access named ranges manually

defined names, hidden, change, manually

The first method is to access the source file of your Excel workbook. Please refer to this article for information about the source contents of an Excel file.

  1. Create a copy of your Excel workbook and rename it. Delete .xlsx in the end and replace it with .zip.
  2. Open the file and navigate to the folder “xl”. Copy the file “workbook.xml” and paste it into an empty folder outside the .zip-file.
  3. Open the “workbook.xml” file with the text editor (right-click on the file and then on “Open with” –> “Notepad”). If you just want to see the named ranges without editing or removing them, you could also just double-click on the file “workbook.xml”. It usually opens in your web browser. The advantage: The layout is much better to read.
  4. defined names, hidden, change, manuallyNow you can see all named ranges. They are listed between <definedNames> and </definedNames>.
    Say, you want to remove all named ranges. Then you could delete all the content between <definedNames> and </definedNames>.
    After editing the file you should save it and copy it back into the .zip-file. Replace the existing “workbook.xml” file there. Rename the complete .zip-file back to .xlsx. Now you can open it. Excel might notice that you changed the file and ask you if you’d like to recover as much as possible.

Please note: Tempering with the source code of your Excel file might damage the file. So please only work with copies of your file.

Solution 2: Use a VBA macro to see all named ranges

Our next method to edit hidden names in Excel is via VBA macros. We have prepared two VBA macros. Please insert a new VBA module and paste the following codes. If you need assistance concerning macros, please refer to this article.

VBA macros to make all names visible

This first VBA macros makes all defined names visible. You can then edit them within the built-in Name Manager (go to Formulas–>Name Manager). After pasting this code snipped into the new module, place the cursor within the code and click on the play button on the top of the VBA editor (or press F5 on the keyboard).

Sub unhideAllNames()
'Unhide all names in the currently open Excel file
    For Each tempName In ActiveWorkbook.Names
        tempName.Visible = True
    Next
End Sub

If you want to hide all names in your current workbook, replace tempName.Visible = True by tempName.Visible = False.

VBA macro to remove all names

The following VBA macros deletes all names in your workbook.

Sub removeAllNames()
'Remove all names in current workbook, no matter if hidden or not
    For Each tempName In ActiveWorkbook.Names
        tempName.Delete
    Next
End Sub

One word of caution: Print ranges and database ranges are also stored as defined names. Before you delete all names, make sure that you really don’t need them any longer.

VBA macro to remove all hidden names

This last VBA macro only deletes all hidden names in your workbook.

Sub removeAllHiddenNames()
'Remove all hidden names in current workbook, no matter if hidden or not
    For Each tempName In ActiveWorkbook.Names
        If tempName.Visible = False Then
            tempName.Delete
        End If
    Next
End Sub

Solution 3: Use Professor Excel Tools

Edit all named ranges - including hidden names - with Professor Excel Tools.
Edit all names – including hidden names – with Professor Excel Tools.

Because this problem is – if it occurs – very troublesome, we’ve included our own version of a “Name Manager” into the Excel add-in “Professor Excel Tools“. As you can see on the screenshot on the right-hand side, it shows all names including hidden names.

You can then hide or unhide defined names. Or directly delete them.


Professor Excel Tools Box

This function is included in our Excel Add-In ‘Professor Excel Tools’

(No sign-up, download starts directly)

More than 35,000 users can’t be wrong.


Summary

Defined names are usually useful in Excel. Unfortunately, with built-in methods, hidden names can’t be edited. That could be a problem when you copy a worksheets and have to confirm for each name separately if you want to keep it or rename it. With thousands of names that could take a while.

Unfortunately, Excel doesn’t provide functions to edit such hidden names. You could work on them manually, with VBA macros or third party add-ins such as “Professor Excel Tools“.

Henrik Schiffner is a freelance business consultant and software developer. He lives and works in Hamburg, Germany. Besides being an Excel enthusiast he loves photography and sports.

9 comments

  1. Is there a way (VBA or manually) add ranges in bulk from the XML file? For example, I would like to add references to over 30 individual cells (imported data source with monthly data) without having to go through the cumbersome process of finding and highlighting each one every time. My UI automatically opens the worksheet and does not let me simply type in the data. If I could just cut and paste text into an XML file it would be easier to bulk update/name ranges.

  2. Is there some way to identify UNUSED names? With the intention of selectively deleting them We may identify some unused names we want to keep..

  3. Hi.
    thank you for this post as it has helped with removing thousands of Named Ranges that existed in a report from my client.
    The problem is they keep sending us these reports that have all these hidden named ranges and links but they also have thousands and thousands of styles that the reports drag along with them.
    I have a macro for removing the styles but I have to run it on every file after opening one of their reports. Is there a similar way (to the above for named ranges) to get rid of all the hidden styles permanently?
    It is causing havoc with my Excel.
    Many thanks

  4. Hi,

    When I try to do this I get Run Time Error 7, “out of memory”. What should I do?

    Thanks

Leave a comment

Your email address will not be published. Required fields are marked *