EXCEL–工作簿里的工作表太多,vba添加目录表

2015年10月2日14:31:13 评论 5,019 views
表格 定制  数据 合并 处理 分析 VBA 编程 开发 网页
表格 定制  数据 合并 处理 分析 VBA 编程 开发 网页

用一个简单的vba程序就可以了 alt+F11打开vba编辑器 然后 点插入-模块-再把代码粘贴到右边空白的地方 然后回到excel界面 按alt+F8 就会看到一个窗口 看到  创建目录  运行即可

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

 

表格 定制  数据 合并 处理 分析 VBA 编程 开发 网页
表格 定制  数据 合并 处理 分析 VBA 编程 开发 网页

发表评论

您必须才能发表评论!