文:Kael.Z 版权所有,尊重原创
很多人在编辑EXCEL表格时,涉及到数据量很大,但又怕自己的不小心操作对单元格目标数值产生误操作,引起数据的错乱。
说干就干!跟我来!
打开EXCEL,按住ALT+F11,打开VBA编辑器!在你要实行的那个表格插入代码,这里我们默认采用sheet1.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Sheet1.Unprotect Password:="123"
If Target.Value <> "" Then
Target.Locked = True
Sheet1.Protect Password:="123"
End If
End Sub
将上述代码复制粘贴sheet1的代码区!
我还是解释下上面的代码吧!上述代码表达的是选取单元格发生改变时,执行下面的代码。
On Error Resume Next
代码遇到错误跳过执行下一句
Sheet1.Unprotect Password:="123" 为取消保护的密码,当然你可以在此自定义!
If Target.Value <> "" Then
Target.Locked = True
Sheet1.Protect Password:="123"
End If
这个代码就是判断目标单元格的值为不为空了,不为空时执行保护,密码为123。
最终实现的效果如文章中的效果图!
代码其实很简单!方法也很实用!希望大家在工作中适当添加,给工作带来便利才是我们的目标。
补充:有人会发现启用后,所有非空数据的单元格都被锁定了,但是要编辑单个单元格一次取消一个还好,若大批量编辑,你单个来就很慢了,其实只要你将代码中的sheet1改为其他,编辑完后改回来即可!
看看。。。。。。
要看了会用才行!