VBA一键生成目录代码

VBA一键生成目录代码

VBA作为Excel中最厉害的一把利器,但是因为其学习门槛阻挡了很多Excel使用者,今天芮和给大家分享1个VBA自定义插件,零基础直接套用模板就可以使用了,代码也非常简短。

68.9K

更新日期:2020-08-27 分类标签: 平台:

31.8KB 3 人已下载 手机查看

Hi,大家好,这里是芮和。这是我们的第3个VBA自定义插件分享,在之前的教程中,我们分享了VBA自动生成报表、快速合并文档的小插件。今天我们来分享一个VBA自动生成目录的小插件。

之前有不少同学在后台询问过有没有Excel快速目录制作的方法?对于一些复杂的Excel文档,使用目录能够帮助我们快速了解文档的大纲,并且便于导航,这个小技巧也是非常棒的。

快速生成目录

大型Excel文档通常有十几乃至几十个工作表,通常会有一页目录页来快速完成文档之间的导航,在没有学习VBA的时候,我们会使用手动录入的方式来生成超链接目录,其实这些重复性的工作交给VBA就可以了,哪怕几十上百份工作表,一秒生成目录~

在底下有1~12月的数据报表,我们生成一个新的工作表,命名为「目录」,在这里,我们会将目录单独放置一份工作表~

VBA一键生成目录代码

因为本文属于自定义插件篇,这里的代码就不提供详细的说明了,关于VBA的使用,我们会在教程中为同学详细讲解。

接着选择「开发工具」选项卡,点击「查看代码」,将代码复制进入:

Sub auto_menu()
    Dim sht As Worksheet, i&, strShtName$
    Columns(1).ClearContents
    Cells(1, 1) = "文档目录"
    i = 1
    For Each sht In Worksheets
        strShtName = sht.Name
        If strShtName <> ActiveSheet.Name Then
            i = i   1
           ActiveSheet.Hyperlinks.Add anchor:=Cells(i, 1), Address:="", SubAddress:="\'" & strShtName & "\'!a1", TextToDisplay:=strShtName
        End If
    Next
End Sub

然后点击「运行」,可以看到目录就全部被生成了:

VBA一键生成目录代码

这里还有一点需要注意一下,使用了VBA代码的Excel文档,必须保存成.xlsm的格式,只有这个格式才支持VBA。

因为本文属于自定义插件篇,这里的代码就不提供详细的说明了,关于VBA的使用,我们会在教程中为同学详细讲解。

相关导航

暂无评论

暂无评论...