第五课 代码的录入方式和保存方式_第1页
第五课 代码的录入方式和保存方式_第2页
第五课 代码的录入方式和保存方式_第3页
第五课 代码的录入方式和保存方式_第4页
第五课 代码的录入方式和保存方式_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五课 代码的录入方式和保存方式今天的课程是“代码的录入方式和保存方式”先了解代码应该放在哪里,如何输入,如何保存然后再学习如何编写,以及它的语法第一点讲过程的分类上一课已讲到,一段 VBA 程序就是一个过程所以以后要注意,说过程就是程序,而不是我们生活中所讲的“过程”例如录一个宏,它产生的代码就是一个子过程,也称 Sub 过程,也可以称之为宏过程当然最书面化的称谓是子过程VBA 的过程包括三类子过程是最常用的 占所有过程的 80%以上子过程以 Sub 开头,End Sub 结尾我们天天见到宏都是子过程Sub 和 end Sub 是它的外壳可以理解为包装袋,有价值的东西都在袋内为什么称之为子过程呢?因为 Sub 过程常作为其它过程的子过程调用例如sub a()msgbox “I Love VBA“end subsub b()call aend sub大家可以使用 Alt+F11 打开 VBE然后插入一个模块粘贴以下代码然后单击激活过程 b然后按 F5 键 此时看到的是过程 a 的执行结果也就是说过程 a 是过程 b 的子过程过程 b 调用过程 a 来实现某些功能 当然函数过程也可以作为子过程调用,更是 Sub 过程使用更频繁,所以将子定程绑定到了 Sub 过程身上所有录制宏产生的过程全是子过程不可能录制其它过程子过程以外 用得多的是函数过程 函数过程以 Function 开头以 end function 结尾也就是我们常说的自定义函数自定义函数属于 VBA 的综合应用,所以等到近 30 课后才能讲没有一定的基本功是无法做好自定义函数的第三类是属性过程以 Property 开头这类过程基本不用我们的课程主要针对前两类过程在子过程中 其实还有一类分枝-事件过程事件过程是很特别的一类过程初学者很难懂帮助中对于事件二字的解释也是相当不通俗化所以要从概念上明白事件过程是怎么回事 对新手而言并不简单所以,我们可以从另一个方向下手根据事件的功能和存放地址来理解,等一下在后面后讲到现在先说说过程代码的三种录入方式其一是“插入”-“过程”请大家先在 VBE 中插入一个模块请看上图,单击“插入”-“过程”你只要指定一个过程名称就行了,然后要下面选择子程序然后单击“确定”一个子过程就产生了Public Sub 我的宏()End Sub这是程序的外壳你可以随心所欲地在其中添加操作命令这种方法对于新手而言 很方便、快捷第二种方法就是手工录入其实只要输入 sub 加过程名称就行了其余的 VBA 自动完成输入 sub ABC然后回车就行了括号加 end Sub 都全自动完成所以手工录入过程的外壳也一样的简单第三种方法是借助录制宏实现因为平常编程其实多数时候需要录制宏,然后改代码,所以索兴就直接通过录制产生代码了以上三种没有高下之分,大家自行选择最麻烦的是事件过程现在回到事件上来VBA 有很多事件,控件、窗体、图表、工作表、工作簿、Excel 应用程序等都支持事件而对于初学者而言,主要涉及事件的对象就两个,其它的以后再谈,先谈这两个对名胜的事件-工作表对象和工作簿对象我们常接触的事件就是工作表事件和工作簿事件其它事件要么不常用,要么是等你到了高级用户后才用所以初学者可以通过工作表事件和工作簿事件来了解事件通常,事件一定涉及一个对象和一个对象的动作,对象和动作加起来形成一个事件,而其中的对象和动作是由微软预先定义的例如工作表的激活事件:Private Sub Worksheet_Activate()End Sub对象是工作表 Worksheet,动作是 Activate。所以指定对象的某些指定动作被微软定义为事件,而其它的一些动作没有赋予事件所以在这种前提下不能简单的定义事件是什么,或者有什么规律,最简单的办法是将帮助中的查看帮助获知 Excel 的某个对象支持哪些事件请大家按 F1 键打开帮助搜索关键字“Worksheet 对象事件”单击第一项即可 这里是工作表对象所支持的所有事件列表单击其中一项就看到微软对该事件的详细描述工作表事件并不多,但是加上工作簿事件就多了上面的这个帮助界面其实不太利于观察大家可以换一个关键字“Worksheet 对象成员”然后单击第一项请拉到最下面这里是所有事件的名称和解释 能同时看到,对于理解有帮助,当然也利于打印 大家可以打印出来由于工作表有很多动作,例如复制、插入、激活之类动作但是只有部分动作可以形成事件这些动作由微软定义的,也没有规律,记忆不容易所以打印出来,要用时核对一下就行了例如我是一个新手,我想知道工作表没有有重命名事件看一下这张表就明白了 虽然是新手,其实就 10 多秒钟就明白了既不用记什么,也不要学习多高深的技术才能解决这个问题 简单地说,工作表的事件就是在工作表的某个预先定义的操作时,可以自动执行用户指定的命令对象和动作由微软定义的,但是事件发生时要调用的命令却是我们自己指定的例如我想实现切换到工作表 sheet3 时弹出一个问候的窗口由于是自动的(切换工作表时自动弹出信息)所以需要使用事件所以有一种简单的理解事件的方法也就是 事件总是自动执行的而我们平常编的程序需要手工执行所以 要判断某项工作是用事件还是不用事件,我们先想想要不要自动执行就行了先试一下上面的事件Private Sub Worksheet_Activate()MsgBox “你好“End Sub工作表激活事件 代码如上现在的问题是如何输入 首先 由于要求是“切换到工作表 sheet3 时弹出一个问候的窗口” 所以是代码要写到 Sheet3 工作表在工程资源管理器中双击 sheet3请先进入这个界面左上方有一个对象窗口单击列表,选择 worksheet 然后再单击右边的过程列表框右边的这个列表就是事件过程的过挰名称刚才讲了事件过程由对象和动作组成刚才的两个步骤刚好对应 先选择对象 worksheet,表示工作表然后选择动作 第一项:Activate()最后产生的代码如下:Private Sub Worksheet_Activate()End Sub 这就是工作事的事件过程 也就是说事件过程偏于复杂,不要手工输入而是通过下拉列表选择对象名称和动作它会自动产生过程的外壳最后再自己补充代码MsgBox “你好“写在中间 录入过程后,可以测试代码了请按 Alt+F11 返回工作表界面先单击 Sheet1然后单击 Sheet3 当你单击 sheet3 工作表时 程序就自动执行了所以印证了刚才所讲的 事件过程总是自动执行的当关联的事件条符合时,全自动执行过程,而不需要手工单击菜单或者按 F5 执行与事件相关的过程就叫事件过程事件过程必须放在该对象的代码窗口才生效,在其它地方无效。上述过程是 Sheet3 对象的事件过程如果将代码放在模块中,过程就没用了,不再有事件的特性简单而言,你想要代码自动执行,就用事件过程写事件过程之前先想好对象是什么?动作是什么?如果想要手工执行代码,那么就用普通过程事件过程必须放在它所属性的对象中 例如 Sheet1 的事件过程放在 Sheet1 的代码窗口Shee3 的事件过程放在 Sheet3 的代码窗口 工作簿事件过程必须放在 ThisWorkbook 窗口剩下的自定义函数和子过程放在模块中就行了一是 否需要自动执行二是代码的保存位置事件必须放在它所关联的对象中才可以 再说说代码的保存方式保存方式总和文件格式相关联的所以先了解文件格式Excel 通用的格式是 xls此格式有 Excel 97 到 2013 都通用所以如果你很在乎文件通用,人人都可以打开,就将文件保存为 xls 格式其次是 xlsx 格式这是一种 2007 开始推行的压缩格式,支持更多的行与列xlsx 文件支持 1048576 行 16384 列而 xls 格式只支持 65536 行 256 列xlsx 文件另一优点是与 xls 文件同样的内容时将拥有更小和体积因为它是压缩格式另外,xlsx 文件不能保存宏代码 当你保存文件时,如果工作簿中有宏代码,那么宏代码自动消失 相信大家都看过这个提示看到这个提示 就应该明白两件事 1.你的工作簿中有宏代码,或者有宏表函数2.你选择的文件格式错了如果你想要保存你的代码,请重新选择 xlsm 格式那么 xlsx 不能保存代码,还有优点吗?其实有一个大大的优点 那么 xlsx 不能保存代码,还有优点吗?其实有一个大大的优点 因为它自动丢失代码 所以你的电脑永远不会中宏病毒 一切宏病毒都自动消失 当然,进本群者都需要保存代码,所以请用 xlsm 格式xlsm 格式同样是 2007 增的格式,拥有更多的行与列能保存代码 接上面的话题,假设每个文件都保存时都要重新选择一下格式,岂非麻烦?微软已经预先解决了这个问题 请看上图使用 Alt+T+O 组合键 打开选项对话框然后调一下格式,以后所有文件自动保存为 xlsm 格式一劳永逸 最后一点,讲解如何保存代码代码有两种保存方式一是保存在工作簿中 那么在 VBE 界面按下 Ctrl+S 就行了在保存工作簿的同时,也保存了代码二次是将代码/模块单独保存对有代码的模块单击右键 ,选择导出文件就行了生成一个模块文件,假设模块中的代码很有价值,以后可以导入模块,直接复制里面的代码应用不过,我的建议是大家平常要注意收集好的代码,放在 Word 里,而不是模块中Word 里可以加更多的注释,而且方便查找当然和工作簿放在一起也可以,好处是保存代码的同时也保存的对应的数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论