应用背景:在一些excel里面,我们对数据进行了保护,worksheet和workbook都进行了上锁。
但是在执行VBA的时候,需要对单元格进行写入,所以需要暂时解锁worksheet或者workbook。
以下代码就实现了解锁和上锁的功能,一个是上锁,一个是解锁。
Sub unlock_password()
Dim ws_Lock As Worksheet
For Each ws_Lock In ThisWorkbook.Worksheets
ws_Lock.Unprotect "123" ' 'unprotect sheet with password 123
Next
ThisWorkbook.Unprotect "abc" 'unprotect book with password abc
End Sub
Sub lock_password()
Dim ws_Lock As Worksheet
For Each ws_Lock In ThisWorkbook.Worksheets
ws_Lock.Protect "123" 'protect sheet with password 123
Next
ThisWorkbook.Protect "abc" 'protect book with password abc
End Sub
可以在sub里面先调用unlock_password子过程,然后进行excel的写入操作,最后再调用lock_password子过程即可。
sub main()
call unlock_password
'input your code
call lock_password
end sub
以上