分享

EXCEL文件里的工作表太多,简单VBA代码快速添加目录表

 青山138 2016-09-09

在微软excel表里,没有提供sheet目录树的功能,通过vba代码,我们可以简便的生成目录表,在目录表点击对应sheet名即可方便的跳转到对应sheet表

使用效果如下

EXCEL文件里的工作表太多,简单VBA代码快速添加目录表

代码如下

EXCEL文件里的工作表太多,简单VBA代码快速添加目录表

使用方法: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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多