vba保护单元格
发布网友
发布时间:2022-05-05 18:23
我来回答
共2个回答
热心网友
时间:2022-06-27 22:02
方法如下:
1、在打开工作簿事件中编写代码达到如下功能:取消工作表保护、使A10:K10的锁定功能为假、保护该工作表。(这部分代码可省略,在窗口中操作一次即可)
2、在代码中要对保护的单元格输入数据时,先取消工作表保护,输入数据后再进行保护(Protect
方法),至于不允许插入删除行列,是Protect 方法的参数设定问题(取默认值 即可,也就是省略参数)。
有问题可追问追问如果是设定保护,需要输入数据的时候再撤消保护的话,实际是保护功能就没有用了。
我需要的是,在A10:K10单元格可以由任何人在任何时候输入数据,但不能修改其它单元格数据。
其它的单元格只可以由VBA程序来修改。
追答我说的方法就是要达到你的目的呀。操作A10:K10时不用撤消保护,直接修改。在代码中修改其他单元格时才先撤消保护,修改后再保护。
热心网友
时间:2022-06-27 22:02
按照你的需求,大致功能如下
a为设定编辑区域和保护
b为取消保护
Sub a()
'取消A10:K10锁定,用于保护后可编辑
Range("A10:K10").Locked = False
'保护工作表,密码123456
ActiveSheet.Protect Password:="123456"
End Sub
Sub b()
'取消保护工作表,密码123456
ActiveSheet.Unprotect Password:="123456"
End Sub