我整理了一个数据收集表单,该表单分布在五个工作表中。有没有办法让这些工作表不可见,这样用户就只能使用工作表按钮进行导航,同时只允许编辑某些单元格?
如果我想包含一个只需按下Ctrl+即可解锁所有内容的功能,D我是否需要编写宏或可以通过其他方式完成?
答案1
是的,可以隐藏工作表,同时确保它们不会显示在工作表标签中
让我们举个例子
创建一个名为 的工作表DASHBOARD
。您将从该工作表调用其余工作表。假设还有 3 个工作表Magda1
,Magda2
并且Magda3
在您的DASHBOARD
工作表上创建 3 个按钮。我们将它们命名为和Open Magda1
,参见屏幕截图。Open Magda2
Open Magda3
接下来双击Open Magda1
并粘贴此代码
Option Explicit
Private Sub CommandButton1_Click()
Dim ws As Worksheet
Sheets("Magda1").Visible = True
For Each ws In ThisWorkbook.Sheets
If ws.Name <> "Magda1" Then ws.Visible = xlSheetHidden
Next
End Sub
同样,您将获得另外两个按钮的代码
Private Sub CommandButton2_Click()
Dim ws As Worksheet
Sheets("Magda2").Visible = True
For Each ws In ThisWorkbook.Sheets
If ws.Name <> "Magda2" Then ws.Visible = xlSheetHidden
Next
End Sub
Private Sub CommandButton3_Click()
Dim ws As Worksheet
Sheets("Magda3").Visible = True
For Each ws In ThisWorkbook.Sheets
If ws.Name <> "Magda3" Then ws.Visible = xlSheetHidden
Next
End Sub
接下来,转到Magda1
工作表并在左上角放置一个按钮(或根据您的选择)。将其命名BACK
为此按钮将带我们回到DASHBOARD
。查看屏幕截图
将此代码粘贴到按钮的点击事件中
Option Explicit
Private Sub CommandButton1_Click()
Dim ws As Worksheet
Sheets("DASHBOARD").Visible = True
For Each ws In ThisWorkbook.Sheets
If ws.Name <> "DASHBOARD" Then ws.Visible = xlSheetHidden
Next
End Sub
BACK
类似地,在另外两张纸上放置按钮并添加上述代码。
最后一件事。单击File
选项卡,然后单击Options
。接下来,单击对话框Advanced
中的选项卡Excel Option
,取消选中复选框,该复选框显示Show Sheet Tabs
最后出来Design Mode
你就完成了:)