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

请问下,如何帮下列代码修改成保护锁定单元格为G5,G6,H5,G10:G13,H10:H13,其他单元格可以修改的。subhh()Range("A1:B5").Selec... 请问下,如何帮下列代码修改成保护锁定单元格为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不会,有能力者,帮下忙,谢谢了。 展开
 我来答
做一个快乐的茶农
高粉答主

2020-01-10 · 每个回答都超有意思的
知道答主
回答量:1396
采纳率:100%
帮助的人:35.2万
展开全部

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

具体操作步骤如下:

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

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

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

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

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

注意事项:

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

很多游戏
高粉答主

2019-12-02 · 游戏精通者,攻略技能点满
很多游戏
采纳数:91 获赞数:387006

向TA提问 私信TA
展开全部

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

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

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

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

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

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

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
willenhu
2017-07-19 · TA获得超过1772个赞
知道小有建树答主
回答量:865
采纳率:66%
帮助的人:250万
展开全部

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

解决思路如下:

  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

效果图:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-07
展开全部
同时按Alt和F11进入宏界面,点菜单的插入,模块,粘贴如下代码:
Sub test()
Cells.Locked = True
Range("G5:G6, H5, G10:H13").Locked = False
ActiveSheet.Protect "12345"
End Sub

密码自己改,运行此宏(直接按F5)就可以了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-07
展开全部
Range("A1:B5")
换成:Range("G5:G6","H5","G10:H10","G13:H13")
如果你的代码能实现保护的话,把里面的都替换就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式