ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 山菊花

不懂VBA也编程

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2008-11-25 16:21 | 显示全部楼层

谢谢山菊老师

本帖已被收录到知识树中,索引项:数据类型和基本语句
可能自己的基础比较差吧。所以感觉做起来不是很好

TA的精华主题

TA的得分主题

发表于 2008-11-25 23:11 | 显示全部楼层
山菊花老师的代码极其简洁高效,在下佩服得五体投地.仰君如仰高山之雄伟,望君如望黄河之滔滔.

TA的精华主题

TA的得分主题

发表于 2008-11-28 11:00 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2008-11-29 20:40 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2008-11-29 22:50 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-11-30 15:26 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

7、保护所有工作表

不少人尝试过给工作组设定工作表保护,但是,没能成功,而且,总不甘心。
好在,用VBA处理起来不算麻烦。
右键点击任一工作表标签,将下面的代码粘贴到光标处:
  1. Sub 保护()
  2. Dim Sh As Worksheet
  3. For Each Sh In Worksheets
  4. Sh.Protect
  5. Next
  6. MsgBox "OK"
  7. End Sub
复制代码
将光标定位到该代码的任意位置,按F5运行该代码。

如果要给工作表保护设置密码,可在 Protect 后面写入密码,用空格分开,密码前后加上半角双引号,假如密码为123:
Sh.Protect "123"

如果要批量撤销工作表保护,可将命令Protect改为Unprotect,如果有密码,同样在后面写入密码,如:
  1. Sub 撤销保护()
  2. Dim Sh As Worksheet
  3. For Each Sh In Worksheets
  4. Sh.Unprotect "123"
  5. Next
  6. MsgBox "OK"
  7. End Sub
复制代码

我们会注意到,Excel基本操作中,用同一个菜单项或命令按钮执行“保护”和“撤销保护”两个操作。我们也可以把上面两段代码合并为一段代码:
  1. Sub 保护全部工作表()
  2.     Dim pc As Boolean, cMM$, Sh As Worksheet
  3.     pc = Me.ProtectContents
  4.     On Error Resume Next
  5.     cMM = Application.InputBox("请输入" & IIf(pc, "撤销", "") & "工作表保护密码:", "密码", Type:=2)
  6.     If cMM <> "123" Then Exit Sub '输入的密码是123
  7.     Application.ScreenUpdating = False
  8.     For Each Sh In Worksheets
  9.         If pc Then
  10.             Sh.Unprotect ("xx") '实际工作表保护密码是xx
  11.         Else
  12.             Sh.Protect ("xx")
  13.         End If
  14.     Next
  15.     Application.ScreenUpdating = True
  16. End Sub
复制代码

参考附件:点击下载

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2008-11-30 17:23 | 显示全部楼层
我不晓得这样没头没脑的弄几个例子出来有什么意思!

TA的精华主题

TA的得分主题

发表于 2008-11-30 17:33 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-11-30 21:28 | 显示全部楼层
原帖由 bobij 于 2008-11-30 17:23 发表
我不晓得这样没头没脑的弄几个例子出来有什么意思!

问得有点意思。
如果在十天前,你会觉得更没意思,那时只有三两个例子。如果一个月后或者半年后,有了三几十个、五十个甚至更多例子时,也许你会觉得有点意思,只要我能坚持做下去或者有您、有其他朋友的共同努力。
使用Excel的人中,一部分人的工作十分需要VBA的功能,比如分页打印,便他的工作需要中,除此以外,不再需要VBA,重要一点,他也没有学习VBA的兴趣。
他们需要一种拿来就用的,像新建、打开、保存、打印一样简单的功能。
他们的需要就是我的责任,我想为这类朋友做点工作,于是,有了这个帖子。
我的设想是,把帖子做成一个集市,你可以在这里买点茶盘、衣架、镜子之类的小用具回去,也可以买点糖果饼干等小吃回去,或者买点孩子的小玩具回去。
不求功能完善,只求简单实用,是这帖子的一个特点,各例子前后没有任何关系,就像集市的小摊,卖老鼠药身边可以卖唱碟,通俗一点说正是没头没脑。
为了能满足更多人的需求,欢迎各位共同出谋献策。
但愿有一天,这帖子会从没意思变成有意思。

TA的精华主题

TA的得分主题

发表于 2008-11-30 21:54 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-18 21:35 , Processed in 0.034694 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表