我从您的问题中假设您想要创建一种隐藏除活动工作表之外的所有内容的导航。
如果这是您要查找的内容,则需要以下代码:
在一个模块中:
Global Const cStrHomeSheet As String = "Home"
公共子 subGotoSheet(strSheetName 作为字符串)
On Error GoTo ErrorHandler
将 wsActive 调暗为工作表
Application.ScreenUpdating = False
设置 wsActive = ActiveSheet
Sheets(strSheetName).Visible = xlSheetVisible
Sheets(strSheetName).Activate
wsActive.Visible = xlSheetVeryHidden
Application.ScreenUpdating = True
退出子
错误处理程序:
MsgBox "找不到工作表" & strSheetName
结束子
公共子 subGotoHomeSheet()
subGotoSheet cStrHomeSheet
结束子
公共子 subGotoSheetFromCaller()
subGotoSheet Application.Caller
结束子
公共子 subHideAll()
暗淡为工作表
Application.ScreenUpdating = False
ActiveWindow.DisplayWorkbookTabs = False
Sheets(cStrHomeSheet).Visible = xlSheetVisible
表格(cStrHomeSheet)。激活
对于表格中的每个 ws
If ws.Name cStrHomeSheet Then _
ws.Visible = xlSheetVeryHidden
下一个
Application.ScreenUpdating = True
结束子
公共子 subShowAll()
暗淡为工作表
Application.ScreenUpdating = False
ActiveWindow.DisplayWorkbookTabs = True
对于表格中的每个 ws
ws.Visible = xlSheetVisible
下一个
Application.ScreenUpdating = True
结束子
此外,将以下代码放入ThisModule
模块中:
私有子 Workbook_Open()
隐藏全部
结束子
解释及用法:
模块中的代码ThisWorkbook
将隐藏除了加载工作簿的主工作表之外的所有内容。(为了隐藏您正在切换工作表的事实,它还隐藏了窗口左下方的工作表标签栏)。
通过调用 asubGotoSheet "DestinationSheet"
您现在可以“激活”,即取消隐藏目标工作表 - 旧工作表将被隐藏。为了让您的生活更轻松,您还可以调用subGotoHomeSheet
- 更重要的是,使用subGotoSheetFromCaller
. 如果您将它与按钮(或任何形状)结合使用,这真的很整洁:如果您将按钮或形状插入工作表,请将此宏分配给它。您现在只需要根据您的目标表命名项目(使用公式字段左侧的名称框) - 该按钮将自动将您带到所需的表!
最后但并非最不重要的一点是,我假设您还需要一个“开发人员模式”,您可以在其中查看和编辑所有工作表。为此,运行subShowAll
,返回,运行subHideAll
。我建议您为这两个宏分配快捷键,这样您就可以在开发人员模式和用户模式之间快速切换。