在excel里利用vba怎么对指定单元格,或区域单元格保护
2个回答
展开全部
首先要知道,要保护一个单元格不能编辑,需要满足两个条件,第一个是设置单元格格式->保护->锁定要勾选,然后整个表要锁定。
解决思路如下:
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效果图:
解决思路如下:
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效果图:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询