VBA保护表|使用VBA密码保护Excel工作表

Excel VBA保护表

我们可以 使用VBA代码保护Excel工作表 这不允许用户对工作表数据进行任何更改,他们只能做的就是阅读报告。为此,我们有一个内置的vba方法,称为“ Protect”。

就像我们在excel中保护工作表一样,我们可以使用VBA保护工作表,这是通过使用.protect语句完成的,有两种方法来保护工作表,一种是使用密码,另一种是没有密码,保护工作表的语法如下所示。Worksheets()。Protect密码。

我们通常与用户或读者共享最终报告。当我们与用户共享最终的最终报告时,我们希望用户不会进行任何修改或操作最终报告。在这种情况下,信任就是全部吗?

句法

保护工作表涉及各种参数以提供保护,这与取消保护工作表不同。让我们看看带有密码的Protect方法的语法。

哇!!!不要因为看语法而被吓到。看看下面每个参数的解释。

  • 工作表名称: 首先,我们需要提及要保护的工作表。
  • 密码: 我们需要输入用于保护的密码。如果我们忽略此参数,excel将在没有密码的情况下锁定工作表,而在取消保护工作表的同时,无需询问任何密码便将其取消保护。
  • 笔记: 记住您提供的密码,因为如果您忘记了密码,则必须经过各种艰难的方式。
  • 绘图对象: 如果希望保护工作表中的对象,则可以将参数传递为TRUE或FALSE。默认值是true。
  • 内容: 为了保护工作表的内容,请将参数设置为TRUE或FALSE。默认值为FALSE。这将仅保护锁定的单元格。默认值是true。
  • 场景: 如果在excel方案中有任何假设分析,我们也可以对其进行保护。保护TRUE或FALSE。默认值是true。
  • 仅用户界面: 如果要保护宏以外的其他用户界面,则应为TRUE。如果省略此参数,则它将同时保护宏和用户界面。如果将参数设置为TRUE,它将仅保护用户界面。默认值为FALSE。
  • 允许格式化单元格: 如果要允许用户格式化单元格的格式,则可以将参数设置为TRUE或FALSE。默认值为FALSE。
  • 允许格式化列: 如果要允许用户格式化受保护工作表中的任何列,则可以将参数设置为TRUE或FALSE。默认值为FALSE。
  • 允许格式化行: 如果要允许用户格式化受保护工作表中的任何行,则可以将参数设置为TRUE或FALSE。默认值为FALSE。
  • 允许 在VBA中插入列:您希望允许用户插入新列,然后需要将其设置为TRUE。默认值为FALSE。
  • 允许插入行: 如果希望允许用户插入新行,则需要将其设置为TRUE。默认值为FALSE。
  • 允许插入超链接: 如果希望允许用户插入超链接,则需要将其设置为TRUE。默认值为FALSE。
  • 允许删除列: 如果希望允许用户删除VBA中的列,则需要将其设置为TRUE。默认值为FALSE。
  • 允许删除行: 如果希望允许用户删除行,则需要将其设置为TRUE。默认值为FALSE。
  • 允许排序: 如果希望允许用户对数据进行排序,则需要将其设置为TRUE。默认值为FALSE。
  • 允许过滤: 如果希望允许用户过滤数据,则需要将其设置为TRUE。默认值为FALSE。
  • 允许使用数据透视表: 如果希望允许用户使用数据透视表,则需要将其设置为TRUE。默认值为FALSE。

如何使用VBA代码保护工作表?

您可以在此处下载此VBA Protect Sheet Excel模板– VBA Protect Sheet Excel模板

步骤1:选择需要保护的工作表

为了保护工作表,第一步是确定我们需要使用密码保护的工作表,并且需要使用vba Worksheet Object通过工作表的名称来调用工作表。

例如,假设您要保护名为“ Master Sheet”的工作表,则需要提及工作表名称,如下所示。

步骤2:定义工作表变量

提及工作表名称后,请加上点号,但我们看不到要使用的任何IntelliSense列表,这使工作变得很困难。要访问IntelliSense列表,请将变量定义为工作表。

代码:

 子Protect_Example1()昏暗Ws作为工作表结尾子 

步骤3:提供工作表参考

现在将工作表引用设置为 工作表(“主表”).

代码:

 子Protect_Example1()昏暗Ws作为工作表集Ws = Worksheets(“ Master Sheet”)End Sub 

现在,变量“ Ws”保存名为“ Master Sheet”的工作表的引用。通过使用此变量,我们可以访问智能感知列表。

步骤4:选择保护方法

从IntelliSense列表中选择“保护”方法。

步骤5:输入密码

在双引号中指定密码。

代码:

 子Protect_Example1()昏暗Ws作为工作表集Ws = Worksheets(“ Master Sheet”)Ws.Protect密码:=“ MyPassword”结束 

步骤6:运行代码

手动运行代码或使用快捷键F5然后将保护名为的工作表 “主表”.

当工作表受到保护时,如果我们要进行任何修改,则会显示一些错误消息,如下所示。

如果您希望保护一个以上的工作表,那么我们需要使用循环,下面是保护该工作表的示例代码。

 Sub Protect_Example2()将ActiveWorkbook.Worksheets Ws.Protect Password:=“ My Passw0rd”中的每个Ws作为工作表的Ws变暗。 

笔记: 使用其他参数进行实验。