excelvba指定工作表怎么设置(如何在Excel使用VBA锁定任意单元格)

一个朋友突然问我:excel中保护工作表那种功能可不可以用在单元格上,比如只保护某一个单元格。听到这个问题,我的第一感觉,应该可以吧,都有保护工作表的功能了,为什么没有保护单元格的功能啊?但是,接下来的十分钟里,我绞尽脑汁,各种搜索,也没有找到有这么一个功能。不过最后倒是想到一个办法,通过VAB代码动态锁定/解锁工作表的方式来实现锁定任意一个单元格的功能。

举例子了:

比如,我们要锁定A1这个单元格,即,除了A1以外的其他任意单元格都可以编辑,只有A1不能编辑,VBA中如何实现呢?

第一步,选择事件Worksheet_SelectionChange,这个事件的意思是我们在切换单元格的时候触发。

第二步,写一个简单的判断条件,代码如下:

If Target.Row =1 and Target.Column =1 Then

ActiveSheet.protect

Else

ActiveSheet.Unprotect

End If

上述代码的意思是:如果当前获取焦点的单元格是第一行第一列,那么锁定工作表(就是所有的单元格都不能编辑),如果当前获取焦点的单元格不是第一行第一列,那么解锁工作表(就是所有的单元格都可以编辑)。

是不是很简单啊,如果你担心别人修改你的代码,还可以给代码加一个密码:

excelvba指定工作表怎么设置(如何在Excel使用VBA锁定任意单元格)(1)

保护代码

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

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页