我正在处理一个包含大量工作表的 Excel 文件,这使得在工作表之间导航变得很麻烦。
有什么方法可以在左侧的一列中显示工作表(而不是在单元格下方的一行),这样我可以一次看到更多内容,并且可能更容易地搜索更多内容。
答案1
编程是众所周知的最快模式,因此我建议您使用 VBA(宏)代码来帮助您在新工作表中创建工作表列表。
您只需单击工作表名称即可在工作表之间导航。
Private Sub Worksheet_Activate()
Dim xSheet As Worksheet
Dim xRow As Integer
Dim calcState As Long
Dim scrUpdateState As Long
Application.ScreenUpdating = False
xRow = 1
With Me
.Columns(1).ClearContents
.Cells(1, 1) = "Sheet-INDEX"
.Cells(1, 1).Name = "SheetIndex"
End With
For Each xSheet In Application.Worksheets
If xSheet.Name <> Me.Name Then
xRow = xRow + 1
With xSheet
.Range("A1").Name = "Start_" & xSheet.Index
.Hyperlinks.Add anchor: = .Range("A1"), Address: = "", _
SubAddress: = "Index", TextToDisplay: = "Back to Index"
End With
Me.Hyperlinks.Add anchor: = Me.Cells(xRow, 1), Address: = "", _
SubAddress: = "Start_" & xSheet.Index, TextToDisplay: = xSheet.Name
End If
Next
Application.ScreenUpdating = True
End Sub
怎么运行的:
创建一个新工作表并根据您的选择重命名。例如图纸清单或者工作表列表。
右键单击新工作表名称选项卡并选择查看代码从菜单中。
在弹出的窗口中,将上面显示的 VBA 代码复制并粘贴到其中。
现在运行宏来创建工作表的动态列表。
笔记, 或者只要你点击“新建工作表”选项卡,代码就会创建工作表列表,因为代码是用于工作表激活事件。