尝试删除非活动受保护工作表中的行时Runtimeerror 1004

时间:2014-02-18 09:31:37

标签: excel vba excel-vba runtime-error

我试图通过VBA删除非活动受保护工作表中的行。没有保护,删除工作正常。

我在Workbook_Open-Sub中设置了Worksheet-Protection:

Private Sub Workbook_Open()
    Dim Password As String
    Password = "123"

    Dim myWorksheet As Worksheet
    For Each myWorksheet In ThisWorkbook.Worksheets
        myWorksheet.Protect Password:=Password, UserInterFaceOnly:=True
    Next

    ActiveWorkbook.Protect Password

End Sub

错误将在以下代码的第一行中抛出:

Public Sub DeleteRow(Row As Integer)
    Rows(Row).Delete

    [...]

End Sub

我做错了什么?奇怪的是,我可以删除活动受保护的工作表中的行。 请帮帮我!

1 个答案:

答案 0 :(得分:1)

您是否考虑过添加一行代码以在宏想要开始执行时取消保护您的工作表并在宏完成之前添加一行来保护工作表?