Excel2010VBA⼊门041实现逐⾏输⼊(protect⽅法)
⽬录
⽰例:
newhalf是什么意思如图所⽰,该表为某公司⼊库流⽔账模板。现在希望能够限定使⽤者逐⾏输⼊,即只能输⼊当前⾏的内容,不能修改⼰输⼊的内容或跳⾏输⼊。该功能是否能够利⽤VBA实现?
⽇期/时间产
品
号
数
30的英文
量
2012/1/1A2
2012/1/2A3
straight怎么读2012/1/3A4
2012/1/4A5
2012/1/5A6
notuntil
2012/1/6A7
2012/1/7A8
2012/1/8A9
2012/1/9A10
2012/1/10A11
2012/1/11A12
2012/1/12A13
strength什么意思A14实例代码:
Option Explicit
Sub 逐⾏输⼊()
Dim NewRowN As Long
'获取数据新⾏
NewRowN = Cells(Rows.Count, "A").End(xlUp).Row + 1
'取消保护驼背鲸
ActiveSheet.Unprotect
'锁定所有单元格
Cells.Locked = True
'数据新⾏取消锁定
Rows(NewRowN).Locked = Fal
Cells(NewRowN, "A").Select
bloodshed
'重新保护⼯作表
ActiveSheet.Protectfather的含义
End Sub
Sub 取消保护()
ActiveSheet.Unprotect东莞翻译公司
End Sub
Protect⽅法和Unprotect⽅法
Protect⽅法和Unprotect⽅法实质是⼯作表的⽅法,可以实现保护⼯作表或者取消保护⼯作表。Protect⽅法的语法如下:
sht.ProtectPassword,DrawingObjects,content,Scenarios,UrInterfaceOnly, AllowFormattingCells,AllowFormattingColumns,AllowFormattingRows,AllowInrtingC AllowInrting
Rows,AllowInrtingHyperlinks,AllowDeletingColumns,AllowDeletingRows,AllowSorting,AllowFiltering,AllowUsingPivotTables)
参数表
名称必需/可选数据类型说明
Password可选Variant 指定⼯作表或⼯作簿的区分⼤⼩写密码的字符串。 如果省略此参数,可以不使⽤密码地解除对⼯作表或⼯作簿的保护。 否则,必须指定密码才能解除对⼯作表或⼯作簿的保护。 如果忘记密码,则⽆法解除对⼯作表或⼯作簿的保护。
请使⽤组合⼤⼩写字母、数字和符号的强密码。 弱密码不混合使⽤这些元素。 例如,强密码:Y6dh!et5。 弱密码:Hou27。 密码的长度应为 8 个或更多字符。 使⽤ 14 个或更多字符的通⾏短语更好。
请务必记住您的密码。 如果您忘记了密码,Microsoft ⽆法找回它。 请将您编写的密码保存在安全的位置并远离它们要帮助保护的信息。
DrawingObjects可选Variant如果为 True,则保护形状。 默认值为 True。
Contents可选Variant 如果为 True,则保护内容。 对于图表,这将保护整个图表。 对于⼯作表,这将保护锁定单元格。 默认值为 True。
Scenarios可选Variant如果为 True,则保护⽅案。 此参数仅对⼯作表有效。 默认值为 True。
UrInterfaceOnly可选Variant 如果为 True,则保护⽤户界⾯,但不保护宏。 如果省略此参数,保护将应⽤于宏和⽤户界⾯。
AllowFormattingCells可选Variant如果为 True,则允许⽤户格式化受保护⼯作表上的任何单元格。 默认值为 Fal。AllowFormattingColumns可选Variant如果为 True,则允许⽤户格式化受保护⼯作表上的任何列。 默认值为 Fal。AllowFormattingRows可选Variant如果为 True ,则允许⽤户格式化受保护的⼯作表上的任何⾏。 默认值为 Fal。AllowInrtingColumns可选Variant如果为 True,则允许⽤户在受保护⼯作表上插⼊列。 默认值为 Fal。AllowInrtingRows可选Variant如果为 True,则允许⽤户在受保护⼯作表上插⼊⾏。 默认值为 Fal。AllowInrtingHyperlinks可选Variant如果为 True ,则允许⽤户在受保护的⼯作表上插⼊超链接。 默认值为 Fal。
AllowDeletingColumns可选Variant 如果为 True,则允许⽤户在受保护的⼯作表上删除列,其中要删除的列中的每个单元格都处于解锁状态。 默认值为 Fal。
AllowDeletingRows可选Variant 如果为 True,则允许⽤户在受保护的⼯作表上删除⾏,其中要删除的⾏中的每个单元格都处于解锁状态。 默认值为 Fal。
AllowSorting可选Variant 如果为 True,则允许⽤户对受保护⼯作表进⾏排序。 排序范围内的每个单元都必须处于解锁或不受保护的状态。 默认值为 Fal。
pb是什么元素
AllowFiltering可选Variant 如果为 True,则允许⽤户在受保护的⼯作表上设置筛选。 ⽤户可以更改筛选条件,但⽆法启⽤或禁⽤⾃动筛选。 ⽤户可以在现有⾃动筛选上设置筛选。 默认值为 Fal。
AllowUsingPivotTables可选Variant 如果为 True ,则允许⽤户在受保护的⼯作表上使⽤数据透视表。 默认值是 Fal。
Unprotect⽅法的语法如下:
Sht.Unprotect (Password)
其中,Sht为⼀个⼯作表对象,本例中可以使⽤ActiveSheet表⽰当前的⼯作表。参数Pas sword为保护⼯作表的密码。
单元格的Locked属性
单元格的Locked属性仅在保护⼯作表时发挥作⽤。在保护⼯作表后,Locked属性设置为True的单元格将不能被修改。
允许VBA修改保护后的⼯作表
当⼯作表执⾏保护后,⽤户⽆法修改锁定的单元格,此时VBA也⽆法修改锁定的单元格。然⽽,在许多情况下,开发者需要⽤代码修改单元格。许多开发者采⽤先取消保护⼯作表,待修改完单元格后再次保护的⽅法。实质上,在使⽤VBA进⾏⼯作表保护时,只需要将UrInterFaceOnly参数设置为True,即可在保护⼯作表后使⽤VBA程序修改单元格的值,参考代码如下:
ActiveSheet.Protect UrInterFaceOnly:=True