列出新表中未受保护的工作表

时间:2015-08-21 08:24:53

标签: excel vba

在excel工作簿中,我有超过20张。但是,有些已受密码保护,允许用户只能访问可以更改值的特定单元格。有些纸张没有受到保护。我有以下代码来检查工作表是否不受保护。

Sub Check_if_Unprotected()
If ActiveSheet.ProtectContents = True Then
MsgBox "Protected"
Else
MsgBox "Not protected"
End If
End Sub

然而,在一天结束时运行上述宏20次是费力的。我希望宏创建一个名为"不受保护的"并使用未受保护的工作表列表填充工作表。 非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

试试这个...... 宏创建工作表并记录所有未受保护的工作表名称。

Dim ws As Worksheet, a As Range
ActiveWorkbook.Worksheets.Add.Name = "Unprotected"

For Each ws In ActiveWorkbook.Worksheets
    If ws.ProtectContents = False And ws.Name <> "Unprotected" Then
        CNT = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
        Sheets("Unprotected").Cells(CNT + 1, "A") = ws.Name
    End If
Next