当工作簿中的工作表不多时,我们只需要单击底部的工作表名到达想要操作的工作表 。然而,当有很多工作表时,要找到想要的工作表就需要边单击滚动按钮边查找工作表,这可能要花点时间了 。
其实,我们可以创建一个导航工作表,将工作簿中的所有工作表名称都放置到导航工作表中,并设置到工作表的链接,这样,我们只需要单击工作表名称,即可到达相对应的工作表 。同时,在每个工作表中,放置回到导航工作表的链接,这样单击该链接就可以迅速回到导航工作表 。这样更方便快捷,如下图1所示 。
文章插图
图1
实现上述功能的VBA代码如下:
Sub NavigateWorksheet()
Dim wks As Worksheet
Dim i As Integer
i = 0
‘如果存在”导航”工作表,则清除其内容
‘如果不存在”导航”工作表,则添加
If SheetExists(“导航”) Then
Cells.ClearContents
Worksheets(“导航”).Range(“A1”).Select
Else
Worksheets.Add before:=Worksheets(1)
【excel数据透视表怎么创建导航工作表】ActiveSheet.Name = “导航”
End If
‘遍历工作表
For Each wks In Worksheets
i = i + 1
‘排除”导航”工作表
If i = 1 Then GoTo Continue
‘添加导航链接
With ActiveCell
.Value = https://www.i8ku.com/2021/wks.Name
.Hyperlinks.Add ActiveCell,””, _
wks.Name & “!A1″, _
TextToDisplay:=wks.Name, _
ScreenTip:=”单击返回导航工作表”
With Worksheets(i)
.Range(“A1″).Value =https://www.i8ku.com/2021/”返回到工作表: ” & ActiveSheet.Name
.Hyperlinks.AddSheets(wks.Name).Range(“A1”), “”, _
“‘” &ActiveSheet.Name & “‘” & “!” &ActiveCell.Address, _
ScreenTip:=”返回到工作表:” & ActiveSheet.Name
End With
End With
ActiveCell.Offset(1, 0).Select
Continue:
Next wks
End Sub
‘判断工作表是否存在
Function SheetExists(strName) As Boolean
Dim obj As Object
On Error Resume Next
Set obj = ActiveWorkbook.Sheets(strName)
If Err.Number = 0 Then
SheetExists = True
Else
SheetExists = False
End If
End Function
运行NavigateWorksheet过程,将在工作簿中创建一个名为“导航”的工作表(如果该工作表已存在,则清空其中的内容),然后在“导航”工作表的列A中输入该工作簿其他工作表的名称并建立到该工作表的链接,同时在其他工作表的单元格A1中创建返回“导航”工作表的链接 。
代码的图片版如下:
文章插图
推荐阅读
- 怎么更早地体验到Excel的最新功能?
- 给图表数据标签添加表示增加或减少的箭头标记
- excel图表技巧:显示数据有效性列表
- 怎么不打开Excel文件删除行?
- excel图表怎么创建动态的目标线
- excel单元格及其所在的行和列分别高亮显示
- 怎么将excel指定文件夹中的文件移至目标文件夹?
- 怎么获取Excel图表系列中指定数据点的类别名?
- excel图表怎么清楚地定位散点图中的数据点
- excel工作表某列中的值从另一工作簿中获取数据