Поиск неиспользуемых имен (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 и выполняет поиск каждого имени. Если имя найти не удается, оно удаляется. По завершении макроса отображается окно сообщения, в котором перечислены имена, удаленные из книги.
Однако есть проблемы с макросом RidOfNames. Он не везде проверяет возможность использования имени. Например, он не определяет, упоминаются ли имена в макросе или используются ли они на других листах (включая скрытые листы) в вашей книге. Он также не проверяет, используется ли конкретное имя в правиле условного форматирования или в диаграммах, раскрывающихся списках и других объектах. Даже с учетом недостатков, RidOfNames может творить чудеса с простыми книгами, в которых нет других макросов (кроме этого) и которые содержат большую часть своих данных на одном листе.
Если вы не хотите создавать свой собственный макрос, вы можете использовать бесплатную надстройку Яна Карела Питерсе. Надстройка, называемая диспетчером имен, позволяет (угадайте, что?) Управлять именами лучше, чем это можно сделать с помощью собственного Excel. Одна из предоставляемых им функций — это возможность избавиться от имен, которые больше не нужны. Вы можете найти надстройку здесь:
http://www.jkp-ads.com/OfficeMarketPlaceNM-EN.asp
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (10998) относится к Microsoft Excel 2007, 2010 и 2013. Вы можете найти версию этого совета для более старого интерфейса меню Excel здесь: link: / excel-Finding_Unused_Names [Поиск неиспользуемых имен]
.