小李是公司会计,每天需要处理的Excel工作表多达几十个,数量非常大。为了方便工作,小李需要在Excel工作簿中创建目录,这个目录包含超链接,点击即可进入对应的工作表,如果工作簿中的工作表出现了什么变化,也可以快速更新。

  其实,这个要求通过Excel的宏命令就可以完成,因为不同表格的作簿的具体情况不同,下面给出一段经典宏代码,小李可以根据实际的需求修改。

  Excel宏代码片段:

  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

  提示:由于该功能是通过编辑宏代码实现的,因此一定要把编辑的工作簿以“Excel启用宏的工作簿(*.xlsm)”格式保存才行。下一次重新打开此工作簿时会警告宏已被禁用,单击警告栏中的“启用内容”即可。