Excel Vba表保护问题

时间:2017-04-18 00:15:21

标签: excel excel-vba vba

我保护了具有特定列保护的Excel工作表。我想允许用户应用过滤器并格式化受保护的单元格。有可能,如果是的话,请建议我一个代码

1 个答案:

答案 0 :(得分:0)

在受保护的工作表中允许格式化不是问题。

允许过滤也是可能的,但有些限制。您不能允许用户自己启用或禁用过滤,您只能允许他们使用在保护工作表之前放置的自动过滤器。

考虑以下代码:

Sub ProtectSheet3()
    Sheet3.Cells.AutoFilter
    Sheet3.Protect Password:="123", userInterfaceOnly:=True, _
        AllowFormattingCells:=True, AllowFiltering:=True
End Sub

在此代码中,我们启用了格式化单元格,并且我们设置了自动过滤器并允许用户使用它。如果在保护工作表之前没有设置自动过滤器,则无法说“我想让用户自己启动过滤功能”。

如果您手动保护工作表(而不是通过VBA),它的工作原理相同。首先设置过滤器,然后在Allow Formatting Cells对话框中选择Allow FilteringProtect Sheet选项。