在微软的帮助里,有这么一段:Locked 属性
对于 Range 对象为 Variant 类型,对于其他对象为 Boolean 类型,如果对象被锁定则为 True,当工作表有保护时对象可被修改则为 False。如果指定区域既包含锁定单元格又包含不锁定单元格,则返回 Null。可读写。我想要的是锁定某几个单元格,而不是整的Sheet,如果单独的使用
cells.locked=true 没有什么效果,依旧可以被修改。
请求大家的帮助,如果有其他的方法当然也可以了。
对于 Range 对象为 Variant 类型,对于其他对象为 Boolean 类型,如果对象被锁定则为 True,当工作表有保护时对象可被修改则为 False。如果指定区域既包含锁定单元格又包含不锁定单元格,则返回 Null。可读写。我想要的是锁定某几个单元格,而不是整的Sheet,如果单独的使用
cells.locked=true 没有什么效果,依旧可以被修改。
请求大家的帮助,如果有其他的方法当然也可以了。
可以采用逆向思维的方式,其实人家帮助已经说了,只是我没有看明白,才疏学浅可以这样:
Sheet6.Range("J7:J14").Locked = False
Sheet6.Protect
原理就是,首先锁定真个Sheet页,然后放开你所允许修改的地方,嘿嘿,就能达到目的了。
Sheet6.Range("J7:J14").Locked = True
Sheet6.Protect password:="123456"
这个问题昨天有人问过的呀
应用于 CellFormat 和 Range 对象的 Locked 属性。本示例解除对 Sheet1 中 A1:G37 区域单元格的锁定,以便当该工作表受保护时也可对这些单元格进行修改。Worksheets("Sheet1").Range("A1:G37").Locked = False
Worksheets("Sheet1").Protect其实,OFFICE自带的VBA帮助里都有。