如何在 Excel 中查找特定工作表名称

如何在 Excel 中查找特定工作表名称

我有一个包含 55 张表格的 Excel 文件

在 excel 文件中查找特定的工作表名称非常繁琐,因为它里面有 55 个工作表

我已使用搜索功能查找特定工作表名称,但它没有搜索工作表名称

有没有办法在 Excel 中搜索 Sheet 名称

答案1

2013 年...右键单击状态栏中的导航区域(最左侧带有按钮的区域),工作表名称将会出现,您可以选择要激活的任何工作表。Joan B

答案2

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

答案3

您可以使用 VBA 自动创建工作簿中所有工作表的列表。

如果您将此代码插入工作簿的 VB 面板中,请返回工作簿并创建一张空白表并将其作为宏运行:

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

这样就可以创建所有工作表的完整列表。您还可以为每个工作表分配一个超链接,以便根据需要轻松跳转到该工作表。

答案4

最快的方法是运行如下的简单测试。

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

相关内容