|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ExcelHome VBA初级培训—课时2 |
| |||||||||||
|
最简单的VBA程序——宏 |
| |||||||||||
|
|
| |||||||||||
|
讲师:ggsmart(叶枫) 2009.12 |
| |||||||||||
|
整理:Jimmy Zeng |
| |||||||||||
|
http://club.ExcelHome.net |
| |||||||||||
|
|
| |||||||||||
|
▣ 学习感言 |
| |||||||||||
|
跟很多同学一样,是抱着崇敬、虔诚的心,期待着传说中“叶枫”的课程;而据某位同学透露,她是因为我们的ggsmart才报的VBA培训班,^_^!这期待就更可见一斑啊~~ | ||||||||||||
|
不过,我们的课时2并没有像ggsmart老师一样让人充满迷惑、疑惑,而是在老师详细、高效、切合实际的讲解中,领悟到“传说”之所以为“传说”! |
| |||||||||||
|
最直接,或者说最受用的感触有如下几点: |
| |||||||||||
|
第一、我的Excel宏安全级直接是设定为“低”,就如老师所讲,建议使用“中”,因为潜在的宏可以让Excel先检测,而避免直接就打开运行了,而这也只是一个点击的事而已! | ||||||||||||
|
第二、在这之前,一直疑惑录制宏时设定的快捷键到底是存储在哪里了?宏代码里虽然有写,但那只是注释性的文字,不是起实际效果的;课程中听老师说,快捷键还可以后期 | ||||||||||||
|
再作修改或设定,这就让人比发现新大陆一般欣喜若狂,接下来,老师打开了“宏”窗口的“选项”,这一切才豁然开朗……也顿觉自己探索的精神仍远远不足! |
| |||||||||||
|
第三、录制宏过程中选用的“相对引用”模式,这是之前自己捣弄时所从来没有使用过的,可能那时候还感慨“宏”的智能与局限吧!不过,老师的准考证生成实例操作,让人 | ||||||||||||
|
顿足啊!之前在EH论坛也看过类似的求助,那时候就想,用VBA的话代码编写起来也是相当麻烦的事,还要逐个循环、逐个判断;而现在,老师竟然只使用录制宏就可以完成那 | ||||||||||||
|
想当然复杂的代码编写。而重要的是使用了“相对引用”模式,只能感慨,原来宏也可以这么弓虽忄旱 & Powerful!!▧◈ |
| |||||||||||
|
|
|
|
|
|
|
| ||||||
|
|
| |||||||||||
|
▣ 本课时主要内容: |
| |||||||||||
|
☞ 什么是宏,宏有哪些安全等级 |
| |||||||||||
|
☞ 怎样录制宏 |
| |||||||||||
|
☞ 怎样执行录制的宏 |
| |||||||||||
|
|
| |||||||||||
|
Ⅰ. “宏安全级” |
| |||||||||||
|
|
| |||||||||||
|
1.1 什么是“宏安全级” |
| |||||||||||
|
☞ “宏”可能包含病毒,“宏安全级”是Excel自带的宏保护功能 |
| |||||||||||
|
☞ 用户可以设置不同的宏保护级别来实现是否允许在Excel文件里运行VBA程序 |
| |||||||||||
|
☞ 只有启用宏才能运行Excel里的VBA程序 |
| |||||||||||
|
|
| |||||||||||
|
1.1.1 默认宏安全等级为“高”,当我们打开包含宏代码的文件时,Excel会提示宏被禁用, |
| |||||||||||
|
1.1.2 我们需要将安全级设置为“中”或“低”才可以打开包含宏的文件,而二者的区别为: |
| |||||||||||
|
☞ 设置为“中”时,打开包含宏的文件时,会弹出“安全警告”,提示文件包含宏,让用户自行选择是禁用还是启用; |
| |||||||||||
|
☞ 设置为“低”时,Excel会直接打开包含宏的文件,而不会作出任何提示。 |
| |||||||||||
|
建议设置为“中”,即可运行宏也可避免未知宏对文件或系统的伤害, |
| |||||||||||
|
| ![]() |
| ||||||||||
|
|
| |||||||||||
|
|
| |||||||||||
|
|
| |||||||||||
|
|
| |||||||||||
|
|
| |||||||||||
|
|
| |||||||||||
|
|
| |||||||||||
|
|
| |||||||||||
|
|
| |||||||||||
|
1.2 怎样修改“宏安全级” |
| |||||||||||
|
1.2.1 可以在“宏安全性”对话框的“安全级”选项卡里设置或修改宏安全级, |
| |||||||||||
|
1.2.2 打开“宏安全性”对话框的方法有如下三种: |
| |||||||||||
|
☞ 工具 → 宏 → 安全性 (菜单) |
| |||||||||||
|
☞ 工具 → 选项 → 安全性 (选项卡) |
| |||||||||||
|
☞ Visual Basic工具栏 → 安全(按钮) |
| |||||||||||
|
| ![]() | |||||||||||
|
| ![]() | |||||||||||
|
| ![]() | |||||||||||
|
|
| |||||||||||
|
Ⅱ. 认识宏 |
| |||||||||||
|
|
| |||||||||||
|
2.1 什么是宏? |
| |||||||||||
|
2.1.1 “宏”是使用VBA代码记录下来的一系列操作步骤的组合,可以使用“录制宏”功能,把操作录制下来; |
| |||||||||||
|
2.1.2 执行录制好的宏,就可以把宏记录下的操作依次执行一遍; |
| |||||||||||
|
2.1.3 我们可以使用“宏”进行一些简单、且完全需要重复执行多次的相同操作。 |
| |||||||||||
|
| ![]() | |||||||||||
|
2.2 怎样录制宏? |
| |||||||||||
|
2.2.1 我们有两种启动录制的方法,如下: |
| |||||||||||
|
☞ 执行“工具 → 宏 → 录制新宏”菜单命令 |
| |||||||||||
|
☞ 单击Visual Basic工具栏中的“录制宏”按钮 |
| |||||||||||
|
| ![]() | |||||||||||
|
Ⅲ. 执行宏 |
| |||||||||||
|
|
| |||||||||||
|
3.1 怎样执行“宏” |
| |||||||||||
|
3.1.1 直接执行 |
| |||||||||||
|
☞ 工具 → 宏 → 宏… |
| |||||||||||
|
☞ Visual Basic工具栏上的“运行”按钮 |
| |||||||||||
|
☞ 直接按ALT+F8 |
| |||||||||||
|
3.1.2 快捷键执行(假设录制时设定了相应的快捷键) |
| |||||||||||
|
☞ 当录制新宏时在信息对话框里设定有对应的快捷键,那么直接按快捷键即可运行宏 |
| |||||||||||
|
☞ 如果新录制时没有指定,那么后期可以在宏对话框里,选择“选项”再行指定 |
| |||||||||||
|
| ![]() | |||||||||||
|
|
| |||||||||||
|
3.1.3 窗体控件(图片、图形)执行 |
| |||||||||||
|
☞ 可以将宏指定给窗体控件、图片、图形,然后只需要点击相应对象就可以执行宏 |
| |||||||||||
|
3.1.4 常用工具栏执行 |
| |||||||||||
|
☞ 可以在工具栏自定义的状态下,把“宏”里的“自定义按钮”拖放到工具栏上,再指定宏给按钮 |
| |||||||||||
|
修改显示名称、图标等之后,关闭对话框之后点击按钮即可运行宏 |
| |||||||||||
|
3.1.5 指定给工作表事件 |
| |||||||||||
|
☞ 我们可以还可以把宏指定给单击工作表,双击工作表、改变单元格内容等的事件响应, |
| |||||||||||
|
|
| |||||||||||
|
Ⅳ. 示例 |
| |||||||||||
|
|
| |||||||||||
|
4.1 VBA中单元格的引用方式 |
| |||||||||||
|
☞ 绝对引用 |
| |||||||||||
|
运行VBA程序时,代码操作的单元格区域不会随着当前活动单元格的改变而改变 |
| |||||||||||
|
☞ 相对引用 |
| |||||||||||
|
运行VBA程序时,代码操作的单元格区域会随着当前活动单元格的改变而改变 |
| |||||||||||
|
4.1.1 如下录制过程显示的控制工具栏,右侧为引用切换的安钮,按下状态为“相对引用”模式 |
| |||||||||||
|
| ![]() |
| ||||||||||
|
|
| |||||||||||
|
|
| |||||||||||
|
4.1.2 “相对引用”与“绝对引用”模式所录制代码的区别, |
| |||||||||||
|
相对引用会使用R1C1单元格引用形式,而绝对引用会使用Range()直接指定的形式; |
| |||||||||||
|
|
| |||||||||||
|
4.1.3 宏代码执行过程中,可以按Ctrl+Break中断执行 |
| |||||||||||
|
|
| |||||||||||
|
Ⅴ. 小结 |
| |||||||||||
|
|
| |||||||||||
|
5.1 宏安全级 |
| |||||||||||
|
☞ 什么是宏安全级 |
| |||||||||||
|
☞ 怎样修改Excel宏安全级 |
| |||||||||||
|
5.2 录制宏 |
| |||||||||||
|
☞ 什么是宏 |
| |||||||||||
|
☞ 录制一个宏(绝对引用、相对引用) |
| |||||||||||
|
5.3 执行录制宏 |
| |||||||||||
|
☞ 直接执行 |
| |||||||||||
|
☞ 快捷键执行 |
| |||||||||||
|
☞ 窗体控件(图片、图形)执行 |
| |||||||||||
|
☞ 常用工具栏执行 |
| |||||||||||
|
5.4 录制宏操作实例 |
| |||||||||||
|
☞ 使用绝对引用对数据进行“选择性粘贴”→ “加”的汇总 |
| |||||||||||
|
☞ 使用相对引用方式进行考生准考证独立生成的操作 |
| |||||||||||
|
☞ 在代码里手动添加For…Next循环语句,再避免手工运行操作 |
| |||||||||||
|
|
| |||||||||||
|
最后,引用ggsmart老师的一句话作为总结: |
| |||||||||||
|
宏只是VBA里面最简单的东西,还存在着很多的局限性,要想学习Excel的自动化和智能化,还需要继续下面课程的培训! |
| |||||||||||
|
|
| |||||||||||
|
|
| |||||||||||
|
|
| |||||||||||
|
|
|
zzmxy @ 2010.09.16 |
| |||||||||
|
|
|
更多信息及内容,请关注ExcelHome论坛: http://club.excelhome.net
|
| |||||||||
|
|
|
| ||||||||||
|
|
|
| ||||||||||
|
|
|
| ||||||||||
|
|
|
| ||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|