一键制作目录,Excel里的表再多也不怕!

一键制作目录,Excel里的表再多也不怕

起因

前几天有个做中药贸易的小伙伴找我诉苦,他卖的中药品种有一千多个,他把每种中药都作为一个单独的sheet放到Excel表里去管理,也就是说他的一个Excel表里有一千多个sheet,因此想定位到某个sheet非常麻烦,所以他希望我能帮他做一个目录,可以快速的找到想要的sheet。

实现效果和代码

我推荐他使用数据库去管理这些数据,但他还是觉得Excel亲切,我只好又建议他做一个Excel目录来链接到各个sheet,他觉得这个不错,所以让我帮他做了一个,实现效果如下:
一键制作目录,Excel里的表再多也不怕!
具体实现代码如下:
Sub sheetlist()
Dim Sheet As Worksheet
Dim SheetNo As Integer
SheetNo = 0
For Each Sheet In Worksheets
If Sheet.Name <> “目录” Then
SheetNo = SheetNo + 1
'将列表序号赋值到第一列
Cells(SheetNo + 1, 1) = SheetNo
'将列表名称赋值到第二列
Cells(SheetNo + 1, 2) = Sheet.Name
'增加超链接
Worksheets(“目录”).Hyperlinks.Add Cells(SheetNo + 1, 2), “”, Sheet.Name & “!A1”
Sheet.[a1].Value = “返回目录”
Sheet.Hyperlinks.Add Sheet.[a1], “”, “目录!A1”
End If
Next
End Sub

上述一键生成目录的好处有:

  • 不管多少个表,都可以一键直接生成目录
  • 可以一目了然的知道Excel*有多少个sheet
  • 每个sheet中的第一行第一列会自动生成返回目录的超链接,可以快速的返回到目录。
  • 代码可以直接拷贝到别的Excel中使用,无需改动(只需要保证第一个表的名称为‘目录’即可)。

Excel生成目录的方法有很多种,上述VBA目录生成只是其中之一,小伙伴们还知道有哪些办法呢?欢迎留言交流,想获取源文件的小伙伴们,请扫描下方二维码,关注 吉祥编程公众号 索取吧。
一键制作目录,Excel里的表再多也不怕!