在 Excel 2010 中隐藏工作表和保护单元格

在 Excel 2010 中隐藏工作表和保护单元格

我整理了一个数据收集表单,该表单分布在五个工作表中。有没有办法让这些工作表不可见,这样用户就只能使用工作表按钮进行导航,同时只允许编辑某些单元格?

如果我想包含一个只需按下Ctrl+即可解锁所有内容的功能,D我是否需要编写宏或可以通过其他方式完成?

答案1

是的,可以隐藏工作表,同时确保它们不会显示在工作表标签中

让我们举个例子

创建一个名为 的工作表DASHBOARD。您将从该工作表调用其余工作表。假设还有 3 个工作表Magda1Magda2并且Magda3

在您的DASHBOARD工作表上创建 3 个按钮。我们将它们命名为和Open Magda1,参见屏幕截图。Open Magda2Open 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你就完成了:)

在此处输入图片描述

相关内容