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

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