我需要在不同的受保护工作表中锁定多个单元格,但是在按宏输入数据后锁定相同的工作簿。哪个适用于第一个数据范围,但它总是在第二个范围内打破。我试过这个:
ActiveWorkbook.Worksheets("Summary").Range("C3").Value = Range("B18").Value + Range("C18").Value
ActiveWorkbook.Worksheets("Summary").Unprotect Password:="password"
ActiveWorkbook.Worksheets("Summary").Protect Password:="password", UserInterFaceOnly:=True
ActiveWorkbook.Worksheets("Summary").Range("A11:B15", "C3").Locked = True
我也试过这个
ActiveWorkbook.Worksheets("Summary").Unprotect Password:="password"
ActiveWorkbook.Worksheets("Summary").Protect Password:="password", UserInterFaceOnly:=True
ActiveWorkbook.Worksheets("Summary").Range("A11:B15").Locked = True
ActiveWorkbook.Worksheets("Summary").Range("C3").Value = Range("B18").Value + Range("C18").Value
ActiveWorkbook.Worksheets("Summary").Range("C3").Locked = True
每次他们停在C3范围。对于第一个脚本,我删除了" C3",它很好;对于第二个,我删除了整条线,它的工作原理。但我真的需要锁定C3编辑。有关如何做的任何建议? 错误消息始终是运行时错误' 1004':无法设置Range类的锁定属性。
答案 0 :(得分:0)
我建议您查看question。
使用.Lock打开或关闭锁定标志,一旦工作表受到保护,您就无法编辑任何打开了锁定标志的单元格。
你需要做......
ActiveWorkbook.Worksheets("Summary").Range("C3").Value = Range("B18").Value + Range("C18").Value
ActiveWorkbook.Worksheets("Summary").Range("A11:B15", "C3").Locked = True
ActiveWorkbook.Worksheets("Summary").Protect Password:="password", UserInterFaceOnly:=True
编辑1:
ActiveWorkbook.Worksheets("Summary").Unprotect Password:="password"
ActiveWorkbook.Worksheets("Summary").Range("C3").Value = Range("B18").Value + Range("C18").Value
ActiveWorkbook.Worksheets("Summary").Range("A11:B15", "C3").Locked = True
ActiveWorkbook.Worksheets("Summary").Protect Password:="password", UserInterFaceOnly:=True