Как найти все места, где используется конкретный именованный диапазон в Excel?
После создания именованного диапазона вы можете использовать его во множестве ячеек и формул. Но как найти все такие ячейки и формулы в текущей книге? В этой статье представлены три эффективных способа решения этой задачи.
Поиск использования определённого именованного диапазона с помощью функции Поиск и замена
Поиск использования определённого именованного диапазона с помощью VBA
Поиск использования определённого именованного диапазона с помощью Kutools для Excel
Поиск использования определённого именованного диапазона с помощью функции Поиск и замена
Вы можете легко воспользоваться стандартной функцией Excel Поиск и замена, чтобы найти все ячейки, в которых используется указанный именованный диапазон. Выполните следующие действия:
1. Нажмите клавиши Ctrl+F одновременно, чтобы открыть диалоговое окно «Поиск и замена».
Примечание: Вы также можете открыть диалоговое окно «Поиск и замена», выбрав Главная > Найти и выделить > Найти.
2. В открывшемся диалоговом окне «Поиск и замена» выполните действия, показанные на следующем снимке экрана:

(1) Введите имя определённого именованного диапазона в поле Найти:
(2) Выберите Книгаиз раскрывающегося списка В пределах;
(3) Нажмите кнопку Найти все.
Примечание: Если раскрывающийся список «В пределах» не отображается, нажмите кнопку Параметры, чтобы развернуть окно параметров поиска.
Теперь все ячейки, содержащие имя указанного именованного диапазона, отобразятся в нижней части диалогового окна «Найти и заменить». См. снимок экрана:

Примечание: С помощью функции «Найти и заменить» можно не только найти все ячейки, в которых используется данный именованный диапазон, но и обнаружить все ячейки, входящие в этот диапазон.
Поиск использования определённого именованного диапазона с помощью VBA
Этот метод предлагает использовать макрос VBA для поиска всех ячеек, ссылающихся на заданный именованный диапазон в Excel. Выполните следующие действия:
1. Нажмите клавиши Alt+F11 одновременно, чтобы открыть окно Microsoft Visual Basic для приложений.
2. Нажмите Вставка > Модуль и скопируйте приведённый ниже код в открывшееся окно модуля.
VBA: Поиск мест использования определённого именованного диапазона
Sub Find_namedrange_place()
Dim xRg As Range
Dim xCell As Range
Dim xSht As Worksheet
Dim xFoundAt As String
Dim xAddress As String
Dim xShName As String
Dim xSearchName As String
On Error Resume Next
xShName = Application.InputBox("Please type a sheet name you will find cells in:", "Kutools for Excel", Application.ActiveSheet.Name)
Set xSht = Application.Worksheets(xShName)
Set xRg = xSht.Cells.SpecialCells(xlCellTypeFormulas)
On Error GoTo 0
If Not xRg Is Nothing Then
xSearchName = Application.InputBox("Please type the name of named range:", "Kutools for Excel")
Set xCell = xRg.Find(What:=xSearchName, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not xCell Is Nothing Then
xAddress = xCell.Address
If IsPresent(xCell.Formula, xSearchName) Then
xFoundAt = xCell.Address
End If
Do
Set xCell = xRg.FindNext(xCell)
If Not xCell Is Nothing Then
If xCell.Address = xAddress Then Exit Do
If IsPresent(xCell.Formula, xSearchName) Then
If xFoundAt = "" Then
xFoundAt = xCell.Address
Else
xFoundAt = xFoundAt & ", " & xCell.Address
End If
End If
Else
Exit Do
End If
Loop
End If
If xFoundAt = "" Then
MsgBox "The Named Range was not found", , "Kutools for Excel"
Else
MsgBox "The Named Range has been found these locations: " & xFoundAt, , "Kutools for Excel"
End If
On Error Resume Next
xSht.Range(xFoundAt).Select
End If
End Sub
Private Function IsPresent(sFormula As String, sName As String) As Boolean
Dim xPos1 As Long
Dim xPos2 As Long
Dim xLen As Long
Dim I As Long
xLen = Len(sFormula)
xPos2 = 1
Do
xPos1 = InStr(xPos2, sFormula, sName) - 1
If xPos1 < 1 Then Exit Do
IsPresent = IsVaildChar(sFormula, xPos1)
xPos2 = xPos1 + Len(sName) + 1
If IsPresent Then
If xPos2 <= xLen Then
IsPresent = IsVaildChar(sFormula, xPos2)
End If
End If
Loop
End Function
Private Function IsVaildChar(sFormula As String, Pos As Long) As Boolean
Dim I As Long
IsVaildChar = True
For I = 65 To 90
If UCase(Mid(sFormula, Pos, 1)) = Chr(I) Then
IsVaildChar = False
Exit For
End If
Next I
If IsVaildChar = True Then
If UCase(Mid(sFormula, Pos, 1)) = Chr(34) Then
IsVaildChar = False
End If
End If
If IsVaildChar = True Then
If UCase(Mid(sFormula, Pos, 1)) = Chr(95) Then
IsVaildChar = False
End If
End If
End Function3. Нажмите кнопку Выполнитьили нажмите клавишу F5, чтобы запустить этот макрос VBA.4. Теперь в первом диалоговом окне Kutools для Excel введите имя листа и нажмите кнопку ОК; затем во втором диалоговом окне укажите имя нужного именованного диапазона и нажмите кнопку ОК. См. снимки экрана:


5. Теперь появится третье диалоговое окно Kutools для Excel, в котором будут перечислены все ячейки, использующие указанный именованный диапазон, как показано на снимке экрана ниже.

После нажатия кнопки ОК для закрытия этого диалогового окна найденные ячейки будут сразу же выделены на указанном листе.
Примечание: Этот макрос VBA ищет ячейки, использующие заданный именованный диапазон, только на одном листе за раз.
Поиск использования определённого именованного диапазона с помощью Kutools для Excel
Если у вас установлено расширение Kutools для Excel, его утилита Замена имени ячейки поможет быстро найти и вывести список всех ячеек и формул, использующих заданный именованный диапазон в Excel.
Kutools для Excel — включает более 300 незаменимых инструментов для Excel. Работайте в Excel быстрее, проще и эффективнее.Скачать сейчас!
1. Нажмите Kutools > Дополнительно > Замена имени ячейки, чтобы открыть диалоговое окно «Замена имени ячейки».

2. В открывшемся диалоговом окне «Замена имени ячейки» перейдите на вкладку Имена, нажмите раскрывающийся список На основе имени и выберите нужный именованный диапазон, как показано на снимке экрана ниже:

Теперь все ячейки и связанные с ними формулы, использующие указанный именованный диапазон, сразу появятся в диалоговом окне.
3. Закройте диалоговое окно «Замена имени ячейки».
Kutools для Excel— раскройте весь потенциал Excel с помощью более чем 300 незаменимых инструментов, которые ускоряют и упрощают вашу работу, а также воспользуйтесь возможностями ИИ для более разумной обработки данных и повышения продуктивности.Получить сейчас
Демонстрация: поиск мест использования определённого именованного диапазона в Excel
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек