如何用vba批量保护或取消保护excel工作表?

通过保护excel工作表,可以防止他人修改工作表内容。

在vba中可以使用Worksheet对象的Protect方法保护工作表。

它的语法如下:

expression . Protect( Password , DrawingObjects , Contents , Scenarios , UserInterfaceOnly , AllowFormattingCells , AllowFormattingColumns , AllowFormattingRows , AllowInsertingColumns , AllowInsertingRows , AllowInsertingHyperlinks , AllowDeletingColumns , AllowDeletingRows , AllowSorting , AllowFiltering , AllowUsingPivotTables )

Protect方法的所有参数都是可选的,连Password参数也可以不提供,表示没有设置密码保护excel工作表。

其余参数表示“保护工作表”对话框中显示的“允许此工作表的所有用户进行的选项”,如下图所示:

以下是批量用密码1234保护工作表的代码:

Sub QQ1722187970()
    Dim oWk As Worksheet
    For Each oWk In Excel.ThisWorkbook.Worksheets
        With oWk
            '所用工作表都用密码1234保护
            .Protect "1234"
        End With
    Next
End Sub

如果要批量解除工作表的保护,可以使用Unprotect方法,它的语法如下:

expression . Unprotect( Password )

以下是批量用密码1234解除保护工作表的代码:

Sub QQ1722187970()
    Dim oWk As Worksheet
    For Each oWk In Excel.ThisWorkbook.Worksheets
        With oWk
            '所用工作表都用密码1234解除保护
            .Unprotect "1234"
        End With
    Next
End Sub
       

发表评论