在excel里利用vba怎么对指定单元格,或区域单元格保护

请问下,如何帮下列代码修改成保护锁定单元格为G5,G6,H5,G10:G13,H10:H13,其他单元格可以修改的。sub hh() Range("A1:B5").Select ActiveSheet.Protection.AllowEditRanges.Add Title:="区域1", Range:=Range( _ "A1:B5") ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=TrueEnd Sub按alt加F11打开vba编辑器 新建模块 粘贴上面的代码 除了A1到B5的区域外其他地方都锁定了 密码:00因本人对vba不会,有能力者,帮下忙,谢谢了。

在excel的工具功能中进入vba编辑器执行宏保护公式的功能,即可对指定单元格,或区域单元格进行保护。

具体操作步骤如下:

1、打开EXCEL2003,输入并编辑好相关的数据。

2、编辑相关的统计公式,如在原始数据最后一列增加总分列,并在K4单元格输入:=SUM(D4:J4),然后往下拖拉填充公式。

3、点击EXCEL工作薄的工具——宏

4、在弹出的界面选择保护公式,点击执行。

5、最后按Alt+F11在弹出的界面输入密码即可。

注意事项:

为了避免别人进入VBA编辑模式查看解锁密码或者乱修改代码,最后一定要记得将宏设置密码。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-12-02

1、打开EXCEL2003,输入并编辑好相关的数据,如下图,录入九年级学生相关的成绩,并设置好字体大小和行列的宽高等。

2、编辑相关的统计公式,如在原始数据最后一列增加总分列,并在K4单元格输入:=SUM(D4:J4),然后往下拖拉填充公式。

3、插入VBA模块,点击工具——宏——Visual Basic 编辑器,

4、在编辑器那里点击插入——模块,就新建一个VBA模块编辑页面。

5、在VBA模式那里编写如下图的代码,用Sub给代码起名称如:保护公式,激活并解除工作表密码(之前没有设置密码也可以这样写),同时解决单元格的锁定,选中所有单元格并锁定隐藏,然后加密,保存并退出VBA编辑模式。

6、执行代码:点击EXCEL工作薄的工具——宏——宏。

7、然后选择刚刚编辑好的代码:保护公式,点击执行。这样包含公式的单元就被锁定保护了,只有解锁才能编辑。

本回答被网友采纳
第2个回答  2017-07-19

首先要知道,要保护一个单元格不能编辑,需要满足两个条件,第一个是设置单元格格式->保护->锁定要勾选,然后整个表要锁定。

解决思路如下:

    定义目标表 Set sh = Sheets("sheet1"),可以修改表格名称

    先解锁整个表sh.Unprotect

    选择所有的单元格,并设置单元格格式->保护->取消勾选锁定

    sh.Cells.Select

    Selection.Locked = False

    选择目标单元格区域,并设置单元格格式->保护->勾选锁定要

    sh.Range("B2:E7").Select 这里可以改变目标区域B2:E7

    Selection.Locked = True

    锁定整个表sh.Protect

完整代码:

Sub ProtectRange()

'Set sh = ActiveSheet
Set sh = Sheets("sheet1")

'解锁表
sh.Unprotect

' 选择所有的单元格并设置不锁定
sh.Cells.Select
Selection.Locked = False

' 选择目标单元格B2:E7,并设置锁定
sh.Range("B2:E7").Select
Selection.Locked = True

' 锁定表
sh.Protect

End Sub

效果图:

第3个回答  2013-06-07
同时按Alt和F11进入宏界面,点菜单的插入,模块,粘贴如下代码:
Sub test()
Cells.Locked = True
Range("G5:G6, H5, G10:H13").Locked = False
ActiveSheet.Protect "12345"
End Sub

密码自己改,运行此宏(直接按F5)就可以了。本回答被网友采纳
第4个回答  2013-06-07
Range("A1:B5")
换成:Range("G5:G6","H5","G10:H10","G13:H13")
如果你的代码能实现保护的话,把里面的都替换就行了
相似回答