我有一个受保护的工作表;除了要由用户编辑的单元格之外,所有单元格都被锁定。我希望用户能够删除行,因此在保护工作表时启用了“删除行”。如预期的那样,我收到错误消息“您正试图删除包含锁定单元格的行...”,我理解为什么会发生这种情况,因为我希望用户输入区域之外的所有单元格都被锁定。
我不想解锁所有其他单元,因为我不想用户在其中输入数据。
我研究了在“删除行”事件中取消保护工作表的能力,但找不到此类事件。我想我可以在每行旁边添加一个按钮,以取消保护工作表,删除该行并重新保护工作表,但是希望有一个更优雅/更轻松的解决方案。
当表格右边的列中有锁定的单元格时,如何删除受保护工作表中的行?
答案 0 :(得分:2)
您可以有一个按钮,该按钮调用执行删除操作的VBA函数。并使用
Protect UserInterfaceOnly:=True
在保护工作表时。通过这种方式,您可以通过受保护工作表上的VBA删除行并执行其他操作。
答案 1 :(得分:0)
您通常可以通过以下代码来实现:
Public Sub ProtectMySheet()
Sheet1.Protect UserInterfaceOnly:=True
End Sub
但是,我发现有时会碰到或错过。所以我有时会这样做
Public Sub EditStuffInProtectedSheet()
With Sheet1
.Unprotect MYPASSWORD ' You can store your password in a safe location, or make it a constant (if you're okay with your End Users knowing it)
' ***Do Stuff***
.Protect MYPASSWORD
End With
End Sub