Andre的工作簿包含52个工作表。他想保护工作表,而不是工作簿本身。目前,他单独保护所有52张纸。他想知道是否有办法一次性保护所有人。

唯一的方法是使用宏。幸运的是,该宏非常短:

Sub ProtectAllSheets()

Dim ws As Worksheet

For Each ws In Worksheets         ws.Protect     Next End Sub

当您运行此宏时,工作簿中的所有工作表都将受到保护,而无需指定密码。 (这意味着任何人都可以轻松地取消保护它们。)如果要指定密码,则可以通过简单的修改来做到:

Sub ProtectAllSheets()

Dim ws As Worksheet

For Each ws In Worksheets         ws.Protect Password:="MyPassword"

Next End Sub

您指定的密码将用于每个工作表,这意味着它们都将使用相同的密码。

您只需将.Protect方法更改为.Unprotect,即可轻松修改这些宏以取消保护所有工作表。

您还应该注意,如果您的工作簿或工作表使用某些阻止工作表保护的选项(例如共享),则宏将生成错误。

完全不同的方法是使用第三方实用程序进行保护。您可以通过快速的Internet搜索找到这些实用程序。一个示例是Asap Utilities(http://www.asap-utilities.com)。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(7511)适用于Microsoft Excel 2007、2010、2013和2016。