4

У меня есть файл Excel с 55 листами в нем

Найти конкретное имя листа в файле Excel очень утомительно, поскольку в нем содержится 55 листов.

Я использовал функцию поиска, чтобы найти конкретное имя листа, но он не ищет имя листа

Есть ли способ поиска имени листа в Excel

4 ответа4

7

В 2013... ЩЕЛКНИТЕ ВПРАВО в области навигации на панели состояния (крайняя левая область с кнопками), и появятся названия листов, и вы сможете выбрать, какой из них вы хотите активировать. Джоан Б

3

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

Когда этот код вызывается, он запросит имя для поиска и попытается найти и выбрать лист с этим именем.

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
0

Вы можете использовать VBA для автоматического создания списка всех листов в вашей книге.

Если вы вставите этот код в панель VB для своей рабочей книги, вернитесь к своей рабочей книге, создайте чистый лист и запустите его как макрос:

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

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

0

Самый быстрый для запуска простого теста, как показано ниже

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .