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

2024-11-03 23:59:20
推荐回答(5个)
回答1:

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

具体操作步骤如下:

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

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

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

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

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

注意事项:

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

回答2:

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

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

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

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

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

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

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

回答3:

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

解决思路如下:

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

  2. 先解锁整个表sh.Unprotect

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

    sh.Cells.Select

    Selection.Locked = False

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

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

    Selection.Locked = True

  5. 锁定整个表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

效果图:

回答4:

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

密码自己改,运行此宏(直接按F5)就可以了。

回答5:

Range("A1:B5")
换成:Range("G5:G6","H5","G10:H10","G13:H13")
如果你的代码能实现保护的话,把里面的都替换就行了