在微软excel表里,没有提供sheet目录树的功能,通过vba代码,我们可以简便的生成目录表,在目录表点击对应sheet名即可方便的跳转到对应sheet表 使用效果如下 代码如下 使用方法:alt+F11打开vba编辑器,粘贴下面代码,运行创建目录即可 代码最后1句单引号可取消 运行后即可 在子表中 按下ctrl+j快速返回到目录表 代码如下 Sub 创建目录() '关闭屏幕更新加快速度 Application.ScreenUpdating = False Dim i As Integer, Sht_Count '如果不存在“目录”则添加目录工作表 If Not IsSht("目录") Then Sheets.Add(Sheets(1)).Name = "目录" Sht_Count = Sheets.Count '获取工作表数量 For i = 2 To Sht_Count '遍历工作表 '在“目录”工作表添加链接 Sheets("目录").Hyperlinks.Add Anchor:=Sheets("目录").Cells(i - 1, 2), _ Address:="", SubAddress:="'" & Sheets(i).Name & "'!A1", _ TextToDisplay:=Sheets(i).Name, ScreenTip:="单击打开:" & Sheets(i).Name Next i '恢复屏幕更新 Application.ScreenUpdating = True '为返回目录过程指定快捷键为【Ctrl+J】可自己选用 'Application.OnKey "^j", "返回目录" End Sub '声明一个函数,用于判断是否存在某个指定名称的工作表 Function IsSht(ShtName As String) On Error Resume Next Dim sht As Worksheet Set sht = Sheets(ShtName) IsSht = (Err = 0) End Function Sub 返回目录() '如果有“目录”则返回“目录”工作表 If IsSht("目录") Then Sheets("目录").Select End Sub
|