如何利用VBA来实现录入数据后的单元格自动保护分析思路: 明确目的:根据要求我们找寻其中关键词录入后、自动、保护 选择恰当的方法:实现自动让我想到的是利用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 If
End Sub 代码解析 第一行是工作表的SelectionChange事件,事件过程与我们平常书写的Sub过程有些小小的区别; 第二行是用于规避代码执行时的错误,这种方式在平常使用当中尽量避免采用。原因是只有代码报错才能让我们发现问题并解决问题。 第三行是使用Unprotect方法取消工作表的保护。 第四、五行是判断单元格数据是否为空,否的话则设置单元格的属性Locked为True,即表示对象被锁定 第六行是利用Protect方法设置工作表的保护 总结利用Excel的工作表保护功能,是有效保护Excel数据结构和数据的有效方式。利用VBA来实现这一操作,是为了“偷懒”。实现以上功能利用到了工作表的事件、Unprotect和Protect方法、Locked属性,以上均可利用Excel F1帮助里获取具体解释以及参考实例。 “ 转给那些喜欢的小伙伴吧 ” 我是张小懒 一个爱偷懒、想让自己自信、正在努力向上的家伙 |
|