怎么用VBA写一段写文件在某到某一列完成自动加密代码如需要更改需要解密...
发布网友
发布时间:2024-01-21 17:55
我来回答
共1个回答
热心网友
时间:2024-04-10 17:14
你看这样行不行(保护工作表状态下解锁B列输入数据)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim pass
If Target.Columns.Count > 2 Then '判断选取的是否为B列,如果不是则维持原来的选取动作,即ActiveCell.Select
ActiveCell.Select
Else
If Target.Column = 2 And Columns("B:B").Locked = True Then '判断如果是B列并且单元格已锁定,执行下面的语句。这里判断Columns("B:B").Locked = True的目的是防止选取B列单元格时不停的弹出输入密码提示框
pass = InputBox("欢迎访问,请输入第B列保护密码", "录入提示") '把InputBox对话框中输入的密码赋予变量pass
If pass = 123 Then '如果输入的解除保护密码正确,则运行解除工作表保护(ActiveSheet.Unprotect Password:=123456)和取消B列锁定(Columns("B:B").Locked = False)的语句,最后再保护工作表(Sheets("第1节").Protect Password:=123456
ActiveSheet.Unprotect Password:=123456
Columns("B:B").Locked = False
Sheet8.Protect Password:=123456
MsgBox "密码正确,请输入数据"
Else
MsgBox "密码错误!"
End If
End If
End If
End Sub