Эксель как найти лист по названию

Обычно мы можем легко находить / искать ячейки с помощью функции поиска и замены. Но иногда нам нужно искать по имени листа. Например, на панели вкладок листа сжимаются десятки листов, и нам нужно быстро найти рабочий лист и перейти к нему. Так как? В этой статье мы обсудим оба метода, чтобы легко решить эту проблему.

  • Поиск по имени рабочего листа с VBA
  • Поиск по имени рабочего листа с помощью «Создать список имен листов» Kutools for Excel    (5 шаги)
  • Поиск по имени рабочего листа с помощью панели навигации Kutools for Excel    (2 шаги)

Поиск по имени рабочего листа с VBA

Этот метод представит макрос VBA для простого поиска на листе в активной книге.

1, нажмите другой + F11 одновременно клавиши, чтобы открыть окно Microsoft Visual Basic для приложений.

2. Нажмите Вставить > Модули, а затем вставьте следующий код VBA в новое открывающееся окно модуля.

VBA: поиск по имени листа

Sub SearchSheetName()
Dim xName As String
Dim xFound As Boolean
xName = InputBox("Enter sheet name to find in workbook:", "Sheet search")
If xName = "" Then Exit Sub
On Error Resume Next
ActiveWorkbook.Sheets(xName).Select
xFound = (Err = 0)
On Error GoTo 0
If xFound Then
MsgBox "Sheet '" & xName & "' has been found and selected!"
Else
MsgBox "The sheet '" & xName & "' could not be found in this workbook!"
End If
End Sub

3, нажмите F5 ключ или щелкните Run кнопку для запуска этого VBA.

4. Появится диалоговое окно поиска листа, введите имя листа, на котором вы будете искать, и нажмите кнопку OK кнопка. Смотрите скриншот:

Появится другое диалоговое окно, в котором сообщается, найден рабочий лист или нет. Просто закрой это.

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


Поиск по имени рабочего листа с помощью «Создать список имен листов» Kutools for Excel

В приведенном выше VBA может быть непросто найти рабочий лист, если вы не можете точно вспомнить и ввести имя рабочего листа. Этот метод познакомит Kutools for ExcelАвтора Создать список имен листов утилита для поиска и простого перехода к рабочему листу.

1. Нажмите Кутулс Плюс > Рабочий лист > Создать список имен листов , чтобы открыть диалоговое окно «Создать список имен листов». Смотрите скриншоты:
поиск документов по листу 01

2. В открывшемся диалоговом окне Create List of Sheet Names укажите параметры: (1) проверить Содержит список гиперссылок вариант; (2) введите имя для нового созданного индексного листа; (3) указать место нового индексного листа; и (4) перечислите все имена рабочих листов в одном столбце индексного листа.

3, Нажмите Ok кнопка. Теперь создается новый индексный лист, который помещается перед всеми листами.

4. Перейдите к индексной странице и нажмите Ctrl + F одновременно с клавишами, чтобы открыть диалоговое окно «Найти и заменить», введите ключевое слово в поле Найти то, что и нажмите Найти все кнопка. Смотрите скриншот:

Теперь все имена листов, содержащие ключевые слова, найдены и перечислены в нижней части диалогового окна «Найти и заменить». См. Диалоговое окно выше.

5. Щелкните имя найденного рабочего листа в диалоговом окне «Найти и заменить», чтобы выбрать соответствующую ячейку, затем щелкните выбранную ячейку на индексном листе, и он сразу перейдет к соответствующему рабочему листу.

Демо: поиск по имени листа в Excel


Поиск по имени рабочего листа с помощью панели навигации Kutools for Excel

Если у вас есть Kutools for Excel установлен, вы можете легко искать рабочие листы по имени листа в области навигации. Пожалуйста, сделайте следующее:

Kutools for Excel – Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now

1. По умолчанию открывается панель навигации. Если закрыто, нажмите Кутулс > Область переходов чтобы отобразить панель навигации, а затем щелкните  (Рабочая книга и лист) в левой части области навигации.

2. Вперед, чтобы проверить Фильтр флажок в области навигации и введите указанные ключевые слова в следующее поле. Теперь все листы, имена которых содержат указанные ключевые слова, будут найдены и перечислены в поле ниже. Смотрите скриншот:

Внимание: При нажатии на результаты поиска сразу открывается соответствующий рабочий лист.

Демонстрация: поиск по имени рабочего листа с помощью панели навигации Kutools for Excel


Статьи по теме:


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (6)


Оценок пока нет. Оцените первым!

MulTEx »

22 Ноябрь 2015              11574 просмотров

Поиск листов

Данная функция является частью надстройки MulTEx


Вызов команды:
MulTEx -группа Книги/ЛистыЛистыПоиск листов


Команда поможет быстро найти листы по их названию. Актуально для книг, листов в которых 15 и более.
Поиск листов

Сразу после вызова команды появляется форма с активным полем поиска. Т.е. сразу после вызова можно начать набирать символы, которые содержатся в имени листа и по мере набора в форме будут отображаться все листы, содержащие указанные символы/слова.
После того, как нужные листы найдены и отображены в форме с ними можно проделать следующие действия:

Перейти на лист:
необходимо выбрать лист, на который надо перейти (сделать лист активным). Если выбрано несколько листов – выделен будет только первый выбранный. Для чего это может быть нужно: когда листов в книге много не так-то просто найти именно нужный по имени. Стандартные возможности Excel в этом плане не очень удобны – придется глазами просматривать длинный список из всех листов и искать именно нужный/нужные.
Важно: в форме отображается так же видимость листов. При попытке перейти на скрытый лист MulTEx сообщит, что это невозможно, т.к. лист скрыт. Для начала лист надо будет отобразить, для чего можно воспользоваться командой Изменить видимость листов.

Удалить:
выбираются (проставлением галочек в форме напротив имен нужных листов) листы, которые необходимо удалить. После нажатия Удалить будут удалены все выбранные листы, в том числе скрытые. Важно: при попытке удалить листы из защищенной книги MulTEx выдаст сообщение о том, что книга защищена и защиту необходимо снять (вкладка РецензированиеЗащитить книгу). Если на книгу установлен пароль, но вспомнить его не получается – можно воспользоваться командой Снять защиту с книги(без пароля).


Расскажи друзьям, если статья оказалась полезной:

  Плейлист   Видеоинструкции по использованию надстройки MulTEx



Профи

(644),
закрыт



11 лет назад

Алексей Матевосов (AlexM)

Просветленный

(27330)


11 лет назад

Когда стопиццот листов, то переход от одного листа к другому можно сделать так. Кликнуть правой кнопкой мышки по любой стрелочке листания листов, в нижнем левом углу. Если листов очень много, то в открывшемся меню можно выбрать все листы. Результат увидите.
Можно сделать и поиск макросом VBA.
Код макроса
Sub List_Search()
strInput = InputBox(“Введите имя листа книги”, “Поиск листов книги”)
ok = 0
If strInput <> “” Then
For i = 1 To Worksheets.Count
If Worksheets(i).Name = strInput Then
Sheets(strInput).Select
ok = 1
End If
Next i
If ok = 0 Then MsgBox “Листа с таким именем нет”
End If
End Sub

СельмаПрофи (644)

11 лет назад

Cпасибо. Первый вариант мне не нужен, так как просматривать имена листов визуально – не вариант. Они очень специфические. Нужен именно поиск по имени, как Ctrl+F.
За макрос спасибо! Попробую.

Один посетитель сайта (Валерий) недавно спросил: «Есть ли инструмент поиска листа в книге по его названию». Возможное решение – просто выбрать лист из списка (рис. 1). Для этого кликните правой кнопкой мыши в левом нижнем углу экрана на одной из кнопок прокрутки.

Рис. 1. Выбор листа из списка

Рис. 1. Выбор листа из списка

Скачать заметку в формате Word или pdf, примеры в формате Excel2013 (с макросами)

Однако, если у вас десятки (а то и сотни) листов, а также, если вы хотите найти лист с определенным названием, такой метод вряд ли будет хорош. Создайте отдельную страницу в книге, на которой разместите указатель, связав гиперссылкой каждую строку с соответствующим листом. Вы сможете создать фильтр или находить листы контекстным поиском. Указатель можно создать двумя способами. [1]

Возможно, вам покажется привлекательной идея создать указатель вручную. Создайте новый лист, назовите его Указатель или подобным именем, введите имена всех остальных листов и свяжите записи гиперссылками с соответствующими листами, пройдя по меню ВставкаГиперссылка (рис. 2) или нажав сочетание клавиш Ctrl+K (К английское). Этот способ подойдет для книг с небольшим числом листов, которые будут меняться нечасто. Но даже в этом случае может быть затруднительно поддерживать актуальность указателя.

Рис. 2. Можно создать указатель вручную с помощью гиперссылок

Рис. 2. Можно создать указатель вручную с помощью гиперссылок

Более универсальный, но и более сложный путь – добавить код VBA. В этом случае указатель будет создаваться заново каждый раз при переходе на лист с указателем (к сожалению, это может замедлять работу, если листов много).

1. Сохраните вашу книгу как файл с поддержкой макросов (рис. 3)

Рис. 3. Книга Excel с поддержкой макросов

Рис. 3. Книга Excel с поддержкой макросов

2. Вставьте в вашу книгу новый лист и назовите его удобным именем — например, Указатель.

3. Правой кнопкой мыши щелкните ярлычок листа и в контекстном меню выберите команду Исходный текст (рис. 4).

Рис. 4. Исходный текст

Рис. 4. Исходный текст

4. В открывшемся окне введите код VВА (рис. 5). Во избежания ошибок, рекомендую код скопировать из модуля в файле Excel.

Private Sub Worksheet_Activate()

Dim wSheet As Worksheet

Dim l As Long

l = 1

With Me

.Columns(1).ClearContents

.Cells(l, 1) = "INDEX"

.Cells(l, 1).Name = "INDEX"

End With

For Each wSheet In Worksheets

If wSheet.Name <> Me.Name Then

l = l + 1

With wSheet

.Range("A1").Name = "Start" & wSheet.Index

.Hyperlinks.Add Anchor:=.Range("A1"), Address:="", SubAddress:= _

"Index", TextToDisplay:="Назад к указателю"

End With

Me.Hyperlinks.Add Anchor:=Me.Cells(l, 1), Address:="", _

SubAddress:="Start" & wSheet.Index, TextToDisplay:=wSheet.Name

End If

Next wSheet

End Sub

Рис. 5. Код VBA

Рис. 5. Код VBA

5. Нажмите Alt+Q, чтобы вернуться обратно к рабочей книге, и сохраните изменения. Не пугайтесь, что на листе Указатель ничего не произошло, и что вы не увидите ни одного макроса, если пройдете по меню ВидМакросы. Код устроен таким образом, что его нельзя запустить никаким образом, кроме как перейдя на лист Указатель. Поэтому перейдите на любой лист, а затем вернитесь на лист Указатель. Наблюдайте, как работает макрос!

Обратите внимание, что ячейкам А1 на каждом листе присваивается имя Start#, где # – уникальное целое число, представляющее номер листа в указателе. Это гарантирует, что у ячейки А1 каждого листа будет уникальное имя. Если у ячейки А1 на вашем листе уже есть имя, необходимо каждое упоминание ячейки А1 в коде изменить на что-то более подходящее — например, любую неиспользуемую ячейку листа. Увидеть образовавшийся список имен можно, пройдя по меню ФормулыДиспетчер имен (рис. 6).

Рис. 6. Диспетчер имен

Рис. 6. Диспетчер имен

Дополнение от 23 сентября 2016 г.

Еще один способ создания указателя использует макрофункцию в именованной формуле (подробнее см. Функция Получить.Ячейку). [2] Откройте книгу, в которой много рабочих листов и/или листов с диаграммами, и выполните следующее:

  1. Вставьте новый лист, на котором будет находиться список (назовите его, например, Указатель).
  2. Выполните команду Формулы –> Присвоить имя, чтобы открыть диалоговое окно Создание имени.
  3. Впишите в поле Имя название Список.
  4. Введите следующую формулу в поле Диапазон (рис. 7): =ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ(«]»;ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));»»)
  5. Нажмите ОК, чтобы закрыть диалоговое окно Создание имени.

%d1%80%d0%b8%d1%81-7-%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d0%b8%d0%bc%d0%b5%d0%bd%d0%b8-%d0%b4%d0%bb%d1%8f-%d0%b8%d0%bc%d0%b5%d0%bd%d0%be%d0%b2%d0%b0%d0%bd%d0%bd%d0%be%d0%b9-%d1%84

Рис. 7. Создание имени для именованной формулы

Обратите внимание: в формуле используется функция ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ, которая не относится к числу стандартных функций рабочего листа. Это макрофункция, написанная в сравнительно старом XLM-стиле и предназначенная для применения на специальном листе макросов. При использовании аргумента 1 она возвращает массив имен листов, причем перед именем каждого листа указано название книги, откуда он взят. Функции ЗАМЕНИТЬ и НАЙТИ удаляют имя книги, сопутствующее названию листа.

Чтобы сгенерировать имена листов, введите в ячейку А1 следующую формулу, а затем скопируйте ее ниже по столбцу: =ИНДЕКС(Слисок;СТРОКА()). На рис. 8 приведена данная формула для диапазона А1:А24. В книге 21 лист, поэтому формула возвращает ошибку #ССЫЛКА! при попытке отобразить имя несуществующего листа. Чтобы избежать этого, измените формулу следующим образом: =ЕСЛИОШИБКА(ИНДЕКС(Список;СТРОКА()));»»)

%d1%80%d0%b8%d1%81-8-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-%d1%84%d0%be%d1%80%d0%bc%d1%83%d0%bb%d1%8b-%d0%b4%d0%bb%d1%8f-%d0%be%d1%82%d0%be%d0%b1%d1%80%d0%b0

Рис. 8. Использование формулы для отображения списка имен листов

Список названий листов можно откорректировать, если вы переименовываете, добавляете или удаляете листы, но это не происходит автоматически. Чтобы принудительно обновить формулы, нажмите Ctrl+Alt+F9. Если вы хотите, чтобы имена листов обновлялись автоматически, измените формулу, чтобы сделать ее меняющейся: =ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ(«]»; ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));»»)&Т(ТДАТА()). Функия Т проверяет, является ли значение текстовым, и возвращает сам текст, если да, либо две кавычки «» (пустой текст), если нет.

Зачем может понадобиться список названий листов? На рис. 9 показано оглавление, созданное как указано выше, а таже ссылки на ячейку А1 соответствующего листа. Например, в ячейке В2 записана формула =ГИПЕРССЫЛКА(«#»&A2&»!A1″;»Перейти по ссылке»). Щелкнув на гиперссылке, вы активизируете лист и выделяете ячейку А1. К сожалению, Excel не поддерживает гиперссылки, ведущие на лист с диаграммами, поэтому при попытке сослаться на такой лист программа выдаст ошибку.

Если вы пользуетесь такими приемами, то книгу нужно сохранить как файл с поддержкой макросов (в формате *.xlsm).

%d1%80%d0%b8%d1%81-9-%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d1%81%d0%bf%d0%b8%d1%81%d0%ba%d0%b0-%d0%b3%d0%b8%d0%bf%d0%b5%d1%80%d1%81%d1%81%d1%8b%d0%bb%d0%be%d0%ba

Рис. 9. Создание списка гиперссылок


[1] По материалам книги Р.Холи, Д.Холи. Excel. Трюки, стр. 38–40

[2] По материалам книги Джон Уокенбах. Excel 2013. Трюки и советы. – СПб.: Питер, 2014. – С. 46–48.

I have a excel file with 55 sheets in it

It is very tedious to find a specific sheet name in the excel file since it has 55 sheets in it

I have used the search function to find specific sheet name but it is not searching the sheet name

Is there a way to search a Sheet name in Excel

asked Apr 16, 2014 at 7:08

Santhosh Siddappa's user avatar

In 2013… RIGHT CLICK on the Navigation area in the STATUS BAR (far left area with buttons) and the sheet names will appear and you can choose whichever you want to activate. Joan B

answered Oct 9, 2014 at 3:19

Joan B's user avatar

The build in search function in Excel does not allow you to search in the names of the sheets. You could instead include the code bellow as a macro in either the actual workbook or as a Add-In to your Excel installation.

When this code is called it will prompt you for a search name and try to find and select the sheet with that name.

Sub SearchSheetName()
    Dim sName As String
    Dim sFound As Boolean

    sName = InputBox(prompt:="Enter sheet name to find in workbook:", Title:="Sheet search")

    If sName = "" Then Exit Sub
    sFound = False

    On Error Resume Next
        ActiveWorkbook.Sheets(sName).Select
        If Err = 0 Then sFound = True
    On Error GoTo 0

    If sFound = False Then
        MsgBox prompt:="The sheet '" & sName & "' could not be found in this workbook!", Buttons:=vbExclamation, Title:="Search result"
    End If
End Sub

answered Apr 16, 2014 at 8:17

Netloh's user avatar

NetlohNetloh

2542 silver badges7 bronze badges

2

You can use VBA to create a list of all of the worksheets in your workbook automatically.

If you insert this code into the VB panel for your workbook, then go back to your workbook and make a blank sheet and run this as a macro:

Sub SheetNames()
    Columns(1).Insert
    For i = 1 To Sheets.Count
        Cells(i, 1) = Sheets(i).Name
    Next i
End Sub

This should then create a full list of all of your worksheets. You could also then assign a hyperlink to each one to jump to that sheet easily if you wanted.

answered Apr 16, 2014 at 7:59

Matt_Roberts's user avatar

Quickest to run a simple test as below

Sub Tested()
Dim strTest As String
strTest = "Your Sheet Name"
MsgBox strTest & "exists:= " & SheetExists(strTest)
End Sub

Function SheetExists(ByVal strTest As String) As Boolean
Dim ws As Worksheet
On Error Resume Next
Set ws = ActiveWorkbook.Sheets(strTest)
SheetExists = (Not ws Is Nothing)
End Function

answered Apr 16, 2014 at 11:16

brettdj's user avatar

brettdjbrettdj

2,09720 silver badges23 bronze badges

Добавить комментарий