最近同事需要如标题描述的这样一个excel功能,有两种实现方式,针对于这一种方式,鄙人进行简单的介绍:
首先要在excel的工具栏中插入开发者工具,笔者使用的是office 2013,以前版本也类似可以找到,并添加到工具栏,见下图:
找到选项打开
选择开发工具,这个时间在工具栏已经可以看到了vb的选项,见下图
既可以针对于相应的sheet进行相应的VBA自定义开发
本次问题的解决方案以下,贴出代码
在excel中,找到“”目录“”的sheet,打开vba编辑界面,进行输入以下代码,既可实现上述的功能需求
Private Sub Worksheet_Activate()
For i = 1 To Sheets.Count
If Sheets(i).Name <> "目录" And Sheets(i).Name <> "Forecast Sum" Then Sheets(i).Visible = 0
Next
End Sub
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim sh As Object
On Error Resume Next
Set sh = Sheets(Replace(Split(Target.SubAddress, "!")(0), "'", ""))
If Not sh Is Nothing Then
Application.EnableEvents = False
sh.Visible = xlSheetVisible
Target.Follow
Application.EnableEvents = True
End If
End Sub
Bye!!!