日常工作中,一部分小伙伴或多或少遇到过因为他人误修改或误删除等造成数据的错误。工作表保护是避免出现这种问题的解决方案之一,而对于懒人而言,有没有可以实现录入数据后,接着保护起来的呢。说到这里,想必不少人已经知道今天的内容啦~
分析思路:
明确目的:根据要求我们找寻其中关键词录入后、自动、保护
选择恰当的方法:实现自动让我想到的是利用VBA的事件;录入后让我想到的是选中的单元格输入数据,同时利用if判断活动单元格是否录入数据;保护肯定是利用对象的保护方法来完成。
根据上述思路书写代码如下
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 IfEnd Sub
代码解析
第一行是工作表的SelectionChange事件,事件过程与我们平常书写的Sub过程有些小小的区别;
第二行是用于规避代码执行时的错误,这种方式在平常使用当中尽量避免采用。原因是只有代码报错才能让我们发现问题并解决问题。
第三行是使用Unprotect方法取消工作表的保护。
第四、五行是判断单元格数据是否为空,否的话则设置单元格的属性Locked为True,即表示对象被锁定
第六行是利用Protect方法设置工作表的保护
利用Excel的工作表保护功能,是有效保护Excel数据结构和数据的有效方式。利用VBA来实现这一操作,是为了“偷懒”。实现以上功能利用到了工作表的事件、Unprotect和Protect方法、Locked属性,以上均可利用Excel F1帮助里获取具体解释以及参考实例。
“ 转给那些喜欢的小伙伴吧 ”
我是张小懒
一个爱偷懒、想让自己自信、正在努力向上的家伙
联系客服