分享

如何实现保护工作表后还可以合并单元格

 温暖南方 2019-07-13

在运用Excel统计资料时,有时我们需要将工作表的一些区域保护防止别人随意更改(如公式,固定的格式等),但对于另外一些区域,往往不需要进行保护,例如可以自由合并单元格等。而一般的保护工作表操作,会使整个工作表内都不能进行合并单元格等操作(即使没有锁定也不行)。所以在这里我来为大家介绍一种可以在一个工作表内实现部分区域保护,而另外一部分区域不保护的方法。

1、首先对excel进行设置。点击“文件”“选项”“自定义功能区”,在里面勾选“开发工具”,然后点击确定按钮。

2、打开一个工作簿,选择所要进行部分保护的sheet,如图选择“实验分组”工作表,

右键点击工作表名称,在弹出的菜单栏点击“查看代码”,

弹出下列对话框

在框中输入下列代码(英文输入状态下):

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If ActiveCell.Column

ActiveSheet.Protect 4444 '当在前3列时,设置工作表保护,密码设置为:4444

ElseIf ActiveCell.Column > 3 Then

ActiveSheet.Unprotect 4444 '当在非前3列时,解除工作表保护

End If

End Sub

代码解释:Column为列的意思,代码利用if函数判断列数Column在小于等于3列时,启用工作表保护,在大于3列时,不启用工作表保护。如果要按行锁定,可用Row代替Column。注意:上面两个圈出来的下拉选项也要一致(直接复制代码过去后会自动生成),“worksheet”表示在工作表内运行(在其他工作表就不触发运行),“selectionchange”表示事件的触发方法,这里是选择改变时触发,即点击一个单元格后再点击另一个单元格即可触发(选择改变),所以如果存在代码时你无法解锁被保护的工作表,因为在点击另外的单元格位置会使工作表代码触发,保护工作表,因此需要更改事件触发方式或者直接将代码先删除后再解锁。

按F5运行,弹出对话框,创建宏,输入名称“保护工作表”,点击创建即可

点击右上角的关闭按钮,关闭VBA窗口,回到工作表,可发现前3列工作表已被保护,其余的未被保护。

当然这样别人也可以直接右键点击工作表查看代码,这时能看见你的密码,如果想要隐藏代码不让别人看见,可以在代码编辑窗口的工具栏点击“工具”“VBAproject属性”

在弹出的界面上点击保护,勾选查看时锁定工程,设置好密码后点击确定即可。这样在下次打开查看代码时就会弹出锁定界面,需要密码解锁(需要关闭文件后再打开才会生效,关闭时记得保存文件)

3、保存工作表的方法。点击文件另存为(注意不是直接保存,是另存为),选择启用宏的工作簿即可。

注意事项:启用宏的工作簿每次打开时会产生安全警告,需要点击启用宏后才能正常运行。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多