Excel VBA:表单保护无法正常工作

使用VBA我试图禁止插入和删除行和列,同时允许用户编辑单元格内容。我希望以下电话可以解决这个问题:
ActiveSheet.Protect Password:="SomePassword", _
AllowInsertingColumns:=False, AllowInsertingRows:=False, _
AllowDeletingColumns:=False, AllowDeletingRows:=False, Contents:=False
但这并不像我预期的那样有效。我仍然可以插入和删除行和列。 我错过了什么?实现上述目标的正确方法是什么?     
已邀请:
经过一些实验,我找到了答案。这是代码:
ActiveSheet.Cells.Locked = False
ActiveSheet.Protect Password:="SomePassword"
这会将工作表中所有单元格的“已锁定”属性设置为“False”,然后完全保护工作表。它起作用的原因是因为保护仅禁用“锁定”设置为“True”的单元格的编辑。     
似乎AllowInsertingRows等是仅当您使用Contents:= True锁定内容时才可用的选项。帮助信息中未明确说明。 由于您希望内容可编辑,因此您必须将所有想要编辑的单元格标记为已解锁(将单元格或范围属性设置为已锁定为false)。然后使用Protect with Contents:= True。     
据我所知,你需要
Contents:=True
才能让其他一切工作!当然,这违背了用户能够编辑单元格内容的需要...锁定单元格。因此,在保护工作表之前,只需解锁所有单元格(格式化|保护|取消选中锁定的复选框)。     

要回复问题请先登录注册