excel如何设置用户可编辑区域:如何设置Excel表格内可编辑区域
excel如何设置用户可编辑区域:如何设置Excel表格内可编辑区域Unprotect'解除保护Delete'删除对象想要实现这个功能,需要用到一个对象:AllowEditRange此对象包含三个方法:ChangePassword‘修改保护密码
在Excel表格中,有一个特别的功能,就是可以把不想编辑的内容进行锁定,然后把可以编辑的单元格设置为活动状态。
这个功能在一些操作当中很有用,特别是为使一些固定格式或者内容不想被误操作修改的时候。
那么如何应用vba代码来设置可编辑区域呢?
下面用一个例子来讲解一下关于单元格区域可编辑状态设置和修改、删除等一些基本操作。
AllowEditRange想要实现这个功能,需要用到一个对象:AllowEditRange
此对象包含三个方法:
ChangePassword‘修改保护密码
Delete'删除对象
Unprotect'解除保护
举例例子中,我们将用到这三个方法,分别对单元格区域进行设置操作。
分别做了五个按钮,设置可编辑区域、修改密码、删除编辑区域、设置表保护、取消表保护
整个操作过程中,实现了对表内任意选择单元格进行可编辑设置,取消和删除功能。
例如,当我们需要对姓名一列进行可编辑设置的时候,就选择姓名列单元格,然后单击"设置可编辑区域"按钮,输入一个密码,这个密码是当你对姓名进行输入的时候,需要密认证,确认密码正确才可以进行编辑。
如此,就可以防止没有权限的人修改工作表内容。
同时,也可以设置部门、职位等其它项为可编辑区域。
也可以设置不同的密码,那么这样的就对不同信息条目进行了分别管理,只有相应权限的操作人员,才可以对表格进行修改录入操作。
代码其代码运用并不多,所以学习起来,也不是十分困难,掌握基本一些的功能就能实现。
Private Sub ChangePassWord()
'修改密码
Dim w As Worksheet
Dim Ps As String
Set w = Application.ActiveSheet
Ps = InputBox("输入密码" "密码" "")
If VBA.Len(Ps) = 0 Then Exit Sub
'Add添加一个可编辑区域
'Title区域名称
'Range 区域地址范围
'Password 密码
w.Protection.AllowEditRanges.Add _
Title:="EditRange" & w.Protection.AllowEditRanges.Count _
Range:=Selection _
Password:=Ps
With Selection
.Interior.Color = RGB(152 59 50)
.Borders.LineStyle = 1
End With
End Sub
注意:代码中这个对象并不是我们开始介绍的AllowEditRange对象,而是AllowEditRanges对象。
是一个AllowEditRange对象集合,它里面包含了多个可编辑区域对象的集合,也就是说它是多个AllowEditRange对象的集合。
通过下面的例子就明白了。
删除可编辑区域
Private Sub DelAllowEditRanges()
Dim sR As AllowEditRange'定义对象
For Each sR In Activesheet.Protection.AllowEditRanges
'遍历集合中的对象
With sR
.Range.ClearFormats'清除单元格格式
.Delete'分别删除可编辑区域对象
End With
Next sR
End Sub
上面这个过程将删除所有当前工作表中的可编辑区域,并清除格式。
当然了,这段代码并不会对表格内容清除。
如果要清除内容在With里面添加.Range.Clear即可。
欢迎关注、收藏