Excel:允许用户删除包含受保护单元格的行 - 崩溃

时间:2018-01-03 20:14:15

标签: excel vba excel-vba

我已添加此VBA执行我的文档。但代码不断崩溃:

ActiveSheet.Protect

我不知道从哪里开始?1

Excel: allow user to delete a row containing protected cells

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address Like "$" & Target.Row & ":$" & Target.Row Then
ActiveSheet.Unprotect
Else
ActiveSheet.Protect
End If
End Sub

更新 每当我连续两次选择受保护的单元时,就会发生错误。

1 个答案:

答案 0 :(得分:1)

我的代码段没有任何问题,但您只能在不受保护的情况下保护该表:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address Like "$" & Target.Row & ":$" & Target.Row Then
        ActiveSheet.Unprotect
    Else
        If Not ActiveSheet.ProtectContents Then
            ActiveSheet.Protect
        End If
    End If
End Sub

这只是将protect语句包装在if语句中,该语句在尝试保护工作表之前检查工作表是否未受到保护。