提示:其它语言是由 Google 机器翻译的。 你可以访问 English 版本。
登录
x
or
x
x
马上登记
x

or

如何设置密码来保护Excel中的隐藏表格?

如果您的工作簿包含一些重要的隐藏工作表,并且不允许其他人隐藏它们。 现在,您需要设置一个密码来完全保护隐藏的工作表,当其他用户取消隐藏时,他们必须输入密码。 您有什么方法可以在Excel中快速轻松地处理此任务吗?

使用VeryHidden功能设置密码以保护隐藏的页面

使用VBA代码设置密码以保护隐藏的工作表

使用Kutools for Excel一次保护多个工作表


一次保护多个或全部工作表:

您订购的 Kutools for Excel保护工作表 取消保护工作表,您可以同时使用相同的密码保护或取消保护工作簿中的所有工作表。

文档保护,多重片状物,9

Kutools for Excel:比200方便的Excel加载项,可以在60天免费试用。 下载并免费试用现在!


使用VeryHidden功能设置密码以保护隐藏的页面


通常,您可以使用VeryHidden功能先隐藏工作表,然后为它们设置密码,请按以下步骤操作:

1。 打开你的工作簿,并按住 Alt + F11键键打开 Microsoft Visual Basic for Applications窗口.

2。 在 Microsoft Visual Basic for Applications窗口,单击“ 查看 > 项目浏览器 属性窗口to显示他们的窗格。

文档保护隐藏表,01

3. 然后在 项目的VBAProject 窗格中,选择要隐藏的工作表,然后在 楼盘 窗格中,单击从中的下拉列表 可见 部分进行选择 xlSheetVeryHidden 选项,看截图:

文档保护隐藏表,02

4。 在隐藏工作表后,您可以设置密码来保护它。 在里面 Microsoft Visual Basic for Applications窗口,单击“ 插页 > 模块 打开一个空的模块,然后单击 > VBAProject属性,看截图:

文档保护隐藏表,03

5。 然后在弹出 VBAProject-Project属性 对话框,单击 保护 选项卡,然后检查 锁定项目以供查看 框,最后,输入并确认密码 密码来查看项目属性 部分,看截图:

文档保护隐藏表,04

6。 然后点击 OK 按钮退出该对话框,然后关闭该对话框 Microsoft Visual Basic for Applications窗口。

7。 将工作簿另存为 Excel宏启用工作簿 格式并关闭它以使密码保护生效。

文档保护隐藏表,05

8。 下次,当您打开此工作簿并希望使隐藏的工作表可见时,您需要输入密码。 看截图:

文档保护隐藏表,06


演示:设置密码以保护隐藏的纸张


使用VBA代码设置密码以保护隐藏的工作表

要设置密码来保护隐藏的工作表,我还可以为您讨论VBA代码。

1。 隐藏您想要保护的一张工作表。

2。 按住 ALT + F11 键打开 Microsoft Visual Basic for Applications窗口.

3。 然后选择 的ThisWorkbook 从左边 项目浏览器,双击它打开 模块,然后将以下VBA代码复制并粘贴到空白模块中:

VBA代码:设置密码以保护隐藏的表格

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim xSheetName As String
xSheetName = "Sheet1"
If Application.ActiveSheet.Name = xSheetName Then
    Application.EnableEvents = False
    Application.ActiveSheet.Visible = False
    xTitleId = "KutoolsforExcel"
    response = Application.InputBox("Password", xTitleId, "", Type:=2)
    If response = "123456" Then
        Application.Sheets(xSheetName).Visible = True
        Application.Sheets(xSheetName).Select
    End If
End If
Application.Sheets(xSheetName).Visible = True
Application.EnableEvents = True
End Sub

文档保护隐藏表,07

注意:在上面的代码中, Sheet1 xSheetName =“Sheet1” 脚本是您要保护的隐藏工作表名称,而且 123456 如果响应=“123456”那么 脚本是您为隐藏表单设置的密码。 你可以改变他们到你的需要。

4。 现在,当您想要显示隐藏表格时,会弹出一个提示框让您输入密码。 当您单击以显示隐藏的工作表时,此提示框每次都会出现。

文档保护隐藏表,08


使用Kutools for Excel一次保护多个工作表

如果您想一次保护工作簿中的多个选定工作表或所有工作表,通常需要在Excel中手动逐个保护。 但是,如果你有 Kutools for Excel,其 保护工作表 实用程序,您可以通过单击来保护它们。

Kutools for Excel : 与超过300方便的Excel加载项,在60天免费试用没有限制.

安装后 Kutools for Excel请按照以下步骤进行:

1。 点击 企业服务 > 保护工作表,看截图:

文档保护隐藏表,09

2。 在 保护工作表 对话框中,工作簿中的所有工作表都列在列表框中,请选择要保护的工作表。 看截图:

文档保护隐藏表,010

3。 然后点击 OK,在下面的对话框中,请输入您的密码并重新输入,然后单击 OK,会弹出另一个提示框来提醒您有多少工作表已被保护。

文档保护隐藏表,011

4。 然后点击 OK 关闭对话框,并且工作簿中的所有工作表都使用相同的密码进行了保护。

请注意: 如果您想一次解除所有工作表的保护,只需点击即可 企业服务 > 取消保护工作表,并输入您的密码以取消保护。

文档保护隐藏表,012

立即下载并免费试用Kutools for Excel!


相关文章:

如何在Excel中一次保护多个工作表?

如何设置密码以保护工作簿?

如何在Excel中保护/锁定VBA代码?


Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%

  • 重用: 快速插入 复杂的公式,图表 以及你以前用过的任何东西; 加密单元格 密码; 创建邮件列表 并发送电子邮件...
  • 超级方程式酒吧 (轻松编辑多行文字和公式); 阅读布局 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不丢失数据; 分裂细胞含量; 组合重复的行/列...防止重复的细胞; 比较范围...
  • 选择复制或唯一 行; 选择空行 (所有细胞都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择......
  • 精确复制 多个单元格而不更改公式参考; 自动创建参考 多张表; 插入项目符号,复选框等等......
  • 提取文本,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级过滤器 (将过滤方案保存并应用到其他工作表); 高级排序 按月/周/日,频率等; 特殊过滤器 用粗体,斜体......
  • 结合工作簿和工作表; 根据键列合并表; 将数据拆分为多个表格; 批量转换xls,xlsx和PDF...
  • 超过300强大的功能。 支持Office / Excel 2007-2019和365。 支持所有语言。 在您的企业或组织中轻松部署。 全功能30天免费试用。
kte tab 201905

Office选项卡为Office提供选项卡式界面,使您的工作更轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,Publisher,Access,Visio和Project。
  • 在同一窗口的新选项卡中打开并创建多个文档,而不是在新窗口中。
  • 通过50%提高您的工作效率,每天为您减少数百次鼠标点击!
官方底部
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    David · 1 months ago
    This is elegant. IF the person opening the spreadsheet does not enable macros (i.e. VBA) what happens? Is the hidden sheet a sitting duck? Or is it quite impossible to find?
  • To post as a guest, your comment is unpublished.
    Jeremy · 2 years ago
    Your code allows users to view the sheet as long as they hold the left mouse button while the mouse pointer is on the tab.
    Try this to keep sheet hidden until correct password is entered:
    If response = "123456" Then
    Application.Sheets(xSheetName).Visible = True
    Application.Sheets(xSheetName).Select
    Else
    Application.Sheets(xSheetName).Visible = False[/b][/b]
    End If
    End If

    Application.EnableEvents = True
    End Sub
  • To post as a guest, your comment is unpublished.
    Darren · 2 years ago
    I have a question about your password restricted worksheet code. You posted the following code which works....what I am looking for is code that will do this with multiple worksheets and multiple passwords within the same workbook. Is this possible?

    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    'Update 20140925
    Dim xSheetName As String
    xSheetName = "sheet1"
    If Application.ActiveSheet.Name = xSheetName Then
    Application.EnableEvents = False
    Application.ActiveSheet.Visible = False
    xTitleId = "KutoolsforExcel"
    response = Application.InputBox("Password", xTitleId, "", Type:=2)
    If response = "123456" Then
    Application.Sheets(xSheetName).Visible = True
    Application.Sheets(xSheetName).Select
    End If
    End If
    Application.Sheets(xSheetName).Visible = True
    Application.EnableEvents = True
    End Sub
    • To post as a guest, your comment is unpublished.
      Severin · 1 years ago
      Found a solution yet?

      I am having the same problem
      • To post as a guest, your comment is unpublished.
        Richard · 1 years ago
        Private Sub Workbook_SheetActivate(ByVal Sh As Object)
        Dim aSheetName As String
        Dim bSheetName As String
        Dim cSheetName As String
        aSheetName = "sheet1"
        bSheetName = "sheet2"
        cSheetName = "sheet3"

        If Application.ActiveSheet.Name = aSheetName Then
        Application.EnableEvents = False
        Application.ActiveSheet.Visible = False
        xTitleId = "KutoolsforExcel"
        response = Application.InputBox("Password", xTitleId, "", Type:=2)
        If response = "123" Then
        Application.Sheets(aSheetName).Visible = True
        Application.Sheets(aSheetName).Select
        Else
        Application.Sheets(aSheetName).Visible = False
        End If
        End If
        Application.EnableEvents = True

        If Application.ActiveSheet.Name = bSheetName Then
        Application.EnableEvents = False
        Application.ActiveSheet.Visible = False
        xTitleId = "KutoolsforExcel"
        response = Application.InputBox("Password", xTitleId, "", Type:=2)
        If response = "456" Then
        Application.Sheets(bSheetName).Visible = True
        Application.Sheets(bSheetName).Select
        Else
        Application.Sheets(bSheetName).Visible = False
        End If
        End If
        Application.EnableEvents = True

        If Application.ActiveSheet.Name = cSheetName Then
        Application.EnableEvents = False
        Application.ActiveSheet.Visible = False
        xTitleId = "KutoolsforExcel"
        response = Application.InputBox("Password", xTitleId, "", Type:=2)
        If response = "789" Then
        Application.Sheets(cSheetName).Visible = True
        Application.Sheets(cSheetName).Select
        Else
        Application.Sheets(cSheetName).Visible = False
        End If
        End If
        Application.EnableEvents = True

        End Sub
        • To post as a guest, your comment is unpublished.
          Tomas · 1 years ago
          Thanks for the code, just have one question. When you open the sheet you are asked for question, then you enter it and the sheet is visible, but when you jump to next sheet and try to re-open previous sheet, you are asked for the same password again everytime. My question is can you bypass that and make excel ask for password once?
      • To post as a guest, your comment is unpublished.
        Rexamillian · 1 years ago
        Private Sub Workbook_SheetActivate(ByVal Sh As Object)
        Dim xSheetName As String
        aSheetName = "sheet1"
        bSheetName = "sheet2"
        cSheetName = "sheet3"

        If Application.ActiveSheet.Name = aSheetName Then
        Application.EnableEvents = False
        Application.ActiveSheet.Visible = False
        xTitleId = "KutoolsforExcel"
        response = Application.InputBox("Password", xTitleId, "", Type:=2)
        If response = "1234" Then
        Application.Sheets(aSheetName).Visible = True
        Application.Sheets(aSheetName).Select
        Else
        Application.Sheets(aSheetName).Visible = False
        End If
        End If
        Application.EnableEvents = True

        If Application.ActiveSheet.Name = bSheetName Then
        Application.EnableEvents = False
        Application.ActiveSheet.Visible = False
        xTitleId = "KutoolsforExcel"
        response = Application.InputBox("Password", xTitleId, "", Type:=2)
        If response = "2345" Then
        Application.Sheets(bSheetName).Visible = True
        Application.Sheets(bSheetName).Select
        Else
        Application.Sheets(bSheetName).Visible = False
        End If
        End If
        Application.EnableEvents = True

        If Application.ActiveSheet.Name = cSheetName Then
        Application.EnableEvents = False
        Application.ActiveSheet.Visible = False
        xTitleId = "KutoolsforExcel"
        response = Application.InputBox("Password", xTitleId, "", Type:=2)
        If response = "3456" Then
        Application.Sheets(cSheetName).Visible = True
        Application.Sheets(cSheetName).Select
        Else
        Application.Sheets(cSheetName).Visible = False
        End If
        End If
        Application.EnableEvents = True

        End Sub