工作表为什么不用vba(不少人尝试过给工作表保护)
不少人尝试过给工作组设定工作表保护,但是,没能成功,而且,总不甘心。
好在,用VBA处理起来不算麻烦。
右键点击任一工作表标签,将下面的代码粘贴到光标处:
- Sub 保护()
- Dim Sh As Worksheet
- For Each Sh In Worksheets
- Sh.Protect
- Next
- MsgBox "OK"
End Sub
将光标定位到该代码的任意位置,按F5运行该代码。
如果要给工作表保护设置密码,可在 Protect 后面写入密码,用空格分开,密码前后加上半角双引号,假如密码为123:
Sh.Protect "123"
如果要批量撤销工作表保护,可将命令Protect改为Unprotect,如果有密码,同样在后面写入密码,如:
- Sub 撤销保护()
- Dim Sh As Worksheet
- For Each Sh In Worksheets
- Sh.Unprotect "123"
- Next
- MsgBox "OK"
- End Sub
我们会注意到,Excel基本操作中,用同一个菜单项或命令按钮执行“保护”和“撤销保护”两个操作。我们也可以把上面两段代码合并为一段代码:
- Sub 保护全部工作表()
- Dim pc As Boolean, cMM$, Sh As Worksheet
- pc = Me.ProtectContents
- On Error Resume Next
- cMM = Application.InputBox("请输入" & IIf(pc, "撤销", "") & "工作表保护密码:", "密码", Type:=2)
- If cMM <> "123" Then Exit Sub '输入的密码是123
- Application.ScreenUpdating = False
- For Each Sh In Worksheets
- If pc Then
- Sh.Unprotect ("xx") '实际工作表保护密码是xx
- Else
- Sh.Protect ("xx")
- End If
- Next
- Application.ScreenUpdating = True
- End Sub
使用Excel的人中,一部分人的工作十分需要VBA的功能,比如分页打印,便他的工作需要中,除此以外,不再需要VBA,重要一点,他也没有学习VBA的兴趣。
他们需要一种拿来就用的,像新建、打开、保存、打印一样简单的功能。
为了能满足更多人的需求,欢迎各位共同出谋献策。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com