使用 VBA,我试图禁止插入和删除行和列,同时允许用户编辑单元格内容。我希望下面的调用能够解决问题:
ActiveSheet.Protect Password:="SomePassword", _
AllowInsertingColumns:=False, AllowInsertingRows:=False, _
AllowDeletingColumns:=False, AllowDeletingRows:=False, Contents:=False
但这并不像我预期的那样工作。我仍然可以插入和删除行和列。
我错过了什么?实现上述目标的正确方法是什么?
最佳答案
经过更多的实验,我找到了答案。代码如下:
ActiveSheet.Cells.Locked = False
ActiveSheet.Protect Password:="SomePassword"
这会将工作表中所有单元格的“锁定”属性设置为“False”,然后完全保护工作表。它起作用的原因是因为保护仅禁用那些“锁定”设置为“真”的单元格的编辑。
关于Excel VBA : Sheet protection not working as desired,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5620902/