excel怎么锁定单元格 如何在Excel使用VBA锁定任意单元格

一个朋友突然问我:excel中保护工作表那种功能可不可以用在单元格上,比如只保护某一个单元格 。听到这个问题,我的第一感觉,应该可以吧,都有保护工作表的功能了,为什么没有保护单元格的功能?。康?nbsp;, 接下来的十分钟里,我绞尽脑汁,各种搜索 , 也没有找到有这么一个功能 。不过最后倒是想到一个办法,通过VAB代码动态锁定/解锁工作表的方式来实现锁定任意一个单元格的功能 。
举例子了:
比如,我们要锁定A1这个单元格,即,除了A1以外的其他任意单元格都可以编辑,只有A1不能编辑,VBA中如何实现呢?
第一步,选择事件Worksheet_SelectionChange,这个事件的意思是我们在切换单元格的时候触发 。
【excel怎么锁定单元格 如何在Excel使用VBA锁定任意单元格】第二步,写一个简单的判断条件,代码如下:
If Target.Row =1 and Target.Column =1 Then
ActiveSheet.protect
Else
ActiveSheet.Unprotect
End If
上述代码的意思是:如果当前获取焦点的单元格是第一行第一列,那么锁定工作表(就是所有的单元格都不能编辑),如果当前获取焦点的单元格不是第一行第一列,那么解锁工作表(就是所有的单元格都可以编辑) 。
是不是很简单啊 , 如果你担心别人修改你的代码,还可以给代码加一个密码:


excel怎么锁定单元格 如何在Excel使用VBA锁定任意单元格

保护代码


以上,就是Excel保护任意单元格的实现过程 。

相关经验推荐