Excel 一般设置是把所有单元格在加了保护之后都不能改,你的意思是不是除了$A$1:$A$20 不让用户改,其他都可以?
要是这样,用下面的宏就好了。
Sub Procedure()
Cells.Locked = False
Range("A1:A20").Locked = True
ActiveSheet.Protect Password:="123456"
End Sub
修改后:
先执行:
Sub Procedure0()
Cells.Locked = False
ActiveSheet.Protect Password:="123456", UserInterfaceOnly:=True
End Sub
保护不同区域的宏:
Sub Protect1()
Range("A1:A20").Locked = True
End Sub
Sub Protect2()
Range("B1:B20").Locked = True
End Sub
解除保护不同区域的宏:
Sub UnProtect1()
a = InputBox("请输入密码.", "密码")
If a = "123" Then Range("A1:A20").Locked = False
End Sub
Sub UnProtect2()
a = InputBox("请输入密码.", "密码")
If a = "123" Then Range("B1:B20").Locked = False
End Sub
Sub UnProtectAll()
a = InputBox("请输入密码.", "密码")
If a = "123" Then Cells.Locked = False
End Sub
这句表示设置保护工作表,密码为123456
ActiveSheet.Protect Password:=123456
是这样的,撤销的时候是需要密码