excel用宏保护工作簿中一列(撤销保护的时候需要输入密码)

2025-04-23 23:47:01
推荐回答(3个)
回答1:

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

回答2:

这句表示设置保护工作表,密码为123456

ActiveSheet.Protect Password:=123456

回答3:

是这样的,撤销的时候是需要密码