这是去年写的一篇文章,今天,卢子根据学员的要求,又进行了改善。新增明细表返回目录这个功能以及如何使用代码。
读者留言:要提取一个工作簿内的所有工作表名称,用于制作目录,该如何实现?
关于工作表提取,大概分成3种情况,卢子详细说明一下。对于绝大多数的人而言,你只要懂得复制粘贴代码即可。
1.简单的提取工作表 先看效果动图。 这个是借助VBA代码生成的,不懂操作VBA的先看文章《就这么简单!一键按职业拆分成多个工作簿》,里面有详细的操作步骤。 源代码: Sub 提取工作表() Dim i% For i = 1 To Sheets.Count k = k + 1 Cells(k + 1, 2) = Sheets(i).Name Next End Sub
2.提取工作表名称并创建超级链接 先看效果动图。 源代码: Sub 建立目录() Dim i As Integer For i = 1 To Sheets.Count Sheets(1).Range("b" & 1 + i) = Sheets(i).Name Sheets(1).Range("b" & 1 + i).Select ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _ "'" & Sheets(i).Name & "'!a1", TextToDisplay:=Sheets(i).Name Next End Sub
3.提取工作表名称并创建超级链接,制作明细表返回目录超级链接 先看效果动图。 源代码: Sub 建立目录() Dim i As Integer For i = 1 To Sheets.Count Sheets(1).Range("b" & 1 + i) = Sheets(i).Name Sheets(1).Range("b" & 1 + i).Select ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _ "'" & Sheets(i).Name & "'!a1", TextToDisplay:=Sheets(i).Name Sheets(i).Hyperlinks.Add Anchor:=Sheets(i).Range("G2"), Address:="", SubAddress:=Sheets("目录").Name & "!A1", TextToDisplay:="返回目录" Next End Sub
代码中的这个Range("G2")可以改动,比如你想在单元格A1创建返回目录的超级链接,可以改成Range("A1")。 Step 01 点工作表标签,查看代码,插入一个模块,将代码复制粘贴进去,关闭VBA窗口。 Step 02 插入图片或者形状,用来运行代码。 Step 03 右键,指定宏,确定,就可以了。 这里有两个注意点: 01 第一个工作表的名字一定要叫目录。 02 微信直接复制粘贴的代码可能出错,为了保证正确,请下载源代码文件。 推荐:一条公式将工资表的实发工资,查找引用到网银模板! 上篇:发票票号及金额整理小妙招 昨天在刷朋友圈的时候看到这张图,送给做会计的你。 作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)
|