标签:VBA,个人工作管理系统
这两天,突然想要将所有工作重新整理,全部整合到Excel上,形成一套个人工作系统,方便工作的跟踪、查找、记录和分析。
经过几天的整理,在工作簿中已经形成了十几个工作表,这让自己在工作表之间跳转非常不方便,于是想到在增加一个“目录”工作表,然后使用VBA在该工作表中生成工作表索引清单并分别链接到相应的工作表,这样当点击目录中某个工作表名时会跳到相应的工作表。同时,在除目录工作表外的所有工作表的单元格A1中,设置跳转到目录工作表的链接,方便快速回到目录工作表。
使用VBA,方便后面再添加新工作表时,可以自动更新目录和相应的链接。
生成工作表索引清单和链接的VBA代码如下:
代码语言:javascript复制Sub GetIndex()
Dim lCount As Long
Dim wks As Worksheet
Dim wksIndex As Worksheet
lCount = 2
Set wksIndex = Worksheets("目录")
wksIndex.Cells.Clear
For Each wks In Worksheets
If wks.Name <> "目录" Then
With wksIndex
.Range("B" & lCount).Value = wks.Name
.Hyperlinks.Add
.Range("B" & lCount), "", wks.Name & "!A1"
With wks
.Range("A1").Clear
.Range("A1").Value = "返回到" & wksIndex.Name
.Hyperlinks.Add Sheets(wks.Name).Range("A1"), "", "'" &
wksIndex.Name & "'" & "!" & wksIndex.Range("B" & lCount).Address, TextToDisplay:="返回到目录"
End With
End With
lCount = lCount 1
End If
Next wks
wksIndex.Columns(2).AutoFit
End Sub
效果如下图1和图2所示。
图1
图2
后续,将根据工作需求增加新的功能,最终形成一套方便我工作的个人工作管理系统。我也会将开发过程在公众号中分享,供有兴趣的朋友参考。