财会:自动创建工作表目录
高手坐镇
题目难度:★★★★
读者求助:董师傅,我是××公司的会计,我想请教你一个问题。最近我升职了,被调入公司总部,做的事情也比以前多了,以前处理的工作表就几个,现在多出了几十个,太恐怖了。
董师傅:为了方便工作,我需要在工作簿中创建目录(插入了超链接,可以进入对应的工作表),如果工作簿中的工作表出现了什么变化,也可以快速更新。我的这个要求对董师傅来说,应该不难吧!
升职了?恭喜恭喜!你的要求不难,通过宏命令就可以搞定。董师傅不知道你的工作簿的具体情况,只好给你一段经典的代码参考一下,你根据实际的需求修改即可。代码如下所示:
Private Sub Worksheet_Activate()
Dim sh As Worksheet
Dim a As Integer
Dim R As Integer
//在目录工作表激活时,自动创建工作簿中除“目录”工作表外所有工作表的目录
R = Sheet1.[A65536].End(xlUp).Row
a = 2
If Sheet1.Cells(2, 1) <> "" Then//判断是否存在工作表目录
Sheet1.Range("A2:A" & R).ClearContents
End If
For Each sh In Worksheets
If sh.CodeName <> "Sheet1" Then
Sheet1.Cells(a, 1).Value = sh.Name
a = a + 1
End If
Next
End Sub
小提示 | TIPS
由于该功能是通过编辑宏代码实现的,因此一定要把编辑的工作簿以“Excel启用宏的工作簿(*.xlsm)”格式保存才行。下一次重新打开此工作簿时会警告宏已被禁用,单击警告栏中的“启用内容”即可。