Please Note: This article is written for users of the following Microsoft Excel versions: 97, 2000, 2002, and 2003. If you are using a later version (Excel 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Excel, click here: Finding Unused Names.
Written by Allen Wyatt (last updated March 30, 2019)
This tip applies to Excel 97, 2000, 2002, and 2003
Richard has a workbook that he's been using for a while, and it has quite a few names in it (named ranges, named formulas, etc.). He wonders if there is an easy way to find names that are not used at all, as he'd like to get rid of those names.
There is no built-in way to get rid of these unused names. You can, however, create a macro that will do the trick for you. This is most easily done by using the Find method to figure out which names have references that can be "found." If the reference cannot be found, then the name is not in use.
Sub RidOfNames() Dim myName As Name Dim fdMsg As String On Error Resume Next fdMsg = "" For Each myName In Names If Cells.Find(What:=myName.Name, _ After:=ActiveCell, _ LookIn:=xlFormulas, _ LookAt:=xlPart, _ SearchOrder:=xlByRows, _ SearchDirection:=xlNext, _ MatchCase:=False, _ SearchFormat:=False).Activate = False Then fdMsg = fdMsg & myName.Name & vbCr ActiveWorkbook.Names(myName.Name).Delete End If Next myName If fdMsg = "" Then MsgBox "No unused names found in the workbook" Else MsgBox "Names Deleted:" & vbCr & fdMsg End If End Sub
The macro steps through all the elements of the Names collection and does a search for each name. If the name cannot be found, then the name is deleted. When the macro is completed, it displays a message box that lists the names that were removed from the workbook.
If you would rather not create your own macro, you can opt to use a free add-in by Jan Karel Pieterse. The add-in, called Name Manager, allows you to (guess what?) manage names better than you can do with native Excel. One of the functions it provides is the ability to get rid of names that are no longer needed. You can find the add-in here:
http://www.jkp-ads.com/OfficeMarketPlaceNM-EN.asp
Note:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (3312) applies to Microsoft Excel 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Excel (Excel 2007 and later) here: Finding Unused Names.
Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!
Copying information between two instances of Excel is different than copying information between two worksheets opened in ...
Discover MoreReferring to a range of cells on the current worksheet is easy. But what if you want to refer to a range on a number of ...
Discover MoreWhen processing data, you may have a need to split a long text string into shorter chunks of text consisting of whole ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2022-10-31 04:08:34
G
Seems to have work by me, having hundreds of irrelevant names from financial model consolidation. Thank you!!!
2020-07-23 11:35:14
Michel Goes
1. It must be noted that a named range can have the same name as a built-in Excel function. E.g. I can name my named range SUM i.e. exactly as the SUM function. So if a formula uses the SUM function but the SUM named range is not used anywhere in the worksheet/workbook, it is believed to be used while in fact it is not.
2. Another point is that a formula can contain a string literal which can potentially contain a string of characters matching the name of a defined named range. This also results this named range believed to be used while in fact it is potentially not.
2020-06-06 06:38:43
Willy Vanhaelen
THIS IS A VERY DANGEROUS MACRO. I tested it in a workbook with many names and it deleted most of them because they were only used in vba code. It also deleted one used in a conditional format formula.
2020-06-05 12:06:56
Marco
This macro doesn't seem to cope with names used in different sheets. It removed all names from my workbook, and a lot of things stopped working.
2019-05-17 09:56:17
Andrew
However, this macro would incorrectly delete named ranges which are only used on data validation formulae?
Please kindly clarify.
Andrew
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 © 2024 Sharon Parq Associates, Inc.
Comments