查找未使用的名称(Microsoft Excel)
理查德有一本他已经使用了一段时间的工作簿,里面有很多名字(命名范围,命名公式等)。他想知道是否有一种简单的方法来查找根本不使用的名称,因为他想摆脱这些名称。
没有内置的方法可以摆脱这些未使用的名称。但是,您可以创建一个宏来为您解决问题。通过使用Find方法找出哪些名称具有可以“找到”的引用,最容易做到这一点。如果找不到引用,则该名称未使用。
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
宏逐步遍历Names集合的所有元素,并搜索每个名称。如果找不到该名称,则删除该名称。宏完成后,它将显示一个消息框,其中列出了从工作簿中删除的名称。
如果您不想创建自己的宏,则可以选择使用Jan Karel Pieterse的免费加载项。名为“名称管理器”的加载项使您(猜测什么?)比使用本机Excel更好地管理名称。它提供的功能之一是能够删除不再需要的名称。您可以在这里找到加载项:
http://www.jkp-ads.com/OfficeMarketPlaceNM-EN.asp
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(3312)适用于Microsoft Excel 97、2000、2002和2003。您可以在以下位置为Excel的功能区界面(Excel 2007和更高版本)找到本技巧的版本: