我有一个包含 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