浏览量:58次
一个朋友突然问我:excel中保护工作表那种功能可不可以用在单元格上,比如只保护某一个单元格。听到这个问题,我的第一感觉,应该可以吧,都有保护工作表的功能了,为什么没有保护单元格的功能啊?但是,接下来的十分钟里,我绞尽脑汁,各种搜索,也没有找到有这么一个功能。不过最后倒是想到一个办法,通过VAB代码动态锁定/解锁工作表的方式来实现锁定任意一个单元格的功能。
举例子了:
比如,我们要锁定A1这个单元格,即,除了A1以外的其他任意单元格都可以编辑,只有A1不能编辑,VBA中如何实现呢?
第一步,选择事件Worksheet_SelectionChange,这个事件的意思是我们在切换单元格的时候触发。
第二步,写一个简单的判断条件,代码如下:
If Target.Row =1 and Target.Column =1 Then
ActiveSheet.protect
Else
ActiveSheet.Unprotect
End If
上述代码的意思是:如果当前获取焦点的单元格是第一行第一列,那么锁定工作表(就是所有的单元格都不能编辑),如果当前获取焦点的单元格不是第一行第一列,那么解锁工作表(就是所有的单元格都可以编辑)。
是不是很简单啊,如果你担心别人修改你的代码,还可以给代码加一个密码:
保护代码
[声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【779898168@qq.com】,我们在确认后,会立即删除,保证您的版权。