Excel VBA : Sheet protection not working as desired

标签 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”,然后完全保护工作表。它起作用的原因是因为保护仅禁用那些“锁定”设置为“真”的单元格的编辑。

关于Excel VBA : Sheet protection not working as desired,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5620902/

相关文章:

html - 使用vba从网站抓取数据

c# - 在 Excel、EPPlus、C# 中以编程方式隐藏选项卡

ms-access - 如何执行VBA Access模块​​?

excel - VBA 添加按钮,设置标题并将其链接到方法

excel - 如何在EXCEL VBA中将内容从评论提取到单元格?

vba - .Rows() 将不接受字符串值

excel - 因此,当使用动态命名范围时,显然 INDIRECT 函数不适用于 Excel 中的数据验证

vba - 仅打印某些页面

VBA如何使用字典

regex - VBA Excel : Pattern creation function replacing numbers with characters