第六课 认识过程(整理版).docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六课 认识过程 课程重点: ●过程的定义 ●子过程的语法 ●过程的作用域 ●静态与动态过程 ●过程的命名规则 ●过程的参数 ●执行过程的方法 ●过程的执行流程 今天开始真正的进入编程的环节,开始编写代码,前几节都是铺垫,包括学习方法论及让大家重塑信心。 1.过程的定义 VBA中一段完整的可以执行的语句就叫过程,过程包括子过程、函数过程和属性过程,应用最频繁的是子过程。录制宏产生的过程都是子过程。每个新手刚开始接触的全是子过程。 自定义函数属于VBA的综合应用,高级用户才需要 以下过程属于子过程的标准格式: Sub 提示() MsgBox 欢迎使用Excel,今天是 Date End Sub 大家可以按Alt+F11组合键进入VBE界面,然后单击“插入”\“模块”,然后粘贴以上代码,接着按F5键执行代码查看过程的执行结果。 使用VBA时95%的情况都是在使用子过程。 函数过程的标志是以Function开头,能返回值。以下过程属于函数过程的标准格式: Function 及格率(cell As Range) 及格率 = WorksheetFunction.CountIf(cell, =60) / WorksheetFunction.CountIf(cell, 0) 及格率 = Format(及格率, 0.00%) End Function 这是一个自定义函数,我录了一个动画,大家可以了解一下自这一义函数的使用方法。 今天课程的重点是子过程,即Sub开头、End Sub结尾的过程。 对于自定义函数的开发过程以后有专门的课程讲述 2.子过程的语法 [Private | Public | Friend] [Static] Sub name [(arglist)] [statements] [Exit Sub] [statements] End Sub 这是子过程的语法,比较复杂。 这样标示后就不那么复杂了。 对于以上语法说明需要补充五点: 其一:其中方括号“[]”中的部分表示可选的,可以根据需要决定是否录入。 而“|”符号是并列分隔符,表示它前后的内容属于同一级别,只能选其中一项。 例如“[Private | Public | Friend] [Static] Sub name [(arglist)] ”实际上相当于以下三句: [Private] [Static] Sub name [(arglist)] [Public] [Static] Sub name [(arglist)] [Friend] [Static] Sub name [(arglist)] 其中: Public表示所有模块的所有其它过程都可调用这个Sub过程。 Private表示只有当前模块中的其它过程才可以访问当前过程。 Friend仅用于类模块中 如果这3者都忽略,那么默认当作Public处理,也就是说编写sub过程时,sub之前什么都不写,表示这个过程是公有过程,有使用Public相同的效果。 其二:Static用于声明当前过程是动态过程还是静态过程。 有Static时表示当前过程是静态过程,其特点是过程中的私有变量的值不会消失; 过程无Static时表示当前过程是动态过程,其特点是过程中的私有变量的值将在过程结束后消失。 在后面的内容中会有案例展示。 其三:括号“()”中的部分表示它是过程的参数。 例如“(arglist)”,同时由于参数外边也有方括号,表示参数也是可选的,可以忽略。 使用了参数的过程只能通过代码执行,不能通过【Alt+F8】的形式在“宏”对话框中执行此过程。 后面会有演示.... 其四:子过程包含程序外壳和代码两部分,程序外壳包括“Sub name”和最末一句“End Sub”,这是必选项,任何时候不能省略; 代码部分可以完全省略,不过代码部分才是程序的主体,省略后就不再有意义,所以通常会至少有一句代码。 其五:代码部分“[statements]”表示过程的任意代码,“[Exit Sub]”表示终止过程,该代码允许放在过程中的任意位置,通常配合IF使用或者Goto语句使用,表示符合某条件时终止过程。 接下来针对以上五点分别阐述。 3.过程的作用域 主要针对[Private | Public ]二者讲述。所谓的作用域是指过程的可调用范围。 例如过程可在当前模块中调用,那么过程的作用域就是当前模块,如果过程能在所有模块中调用,那么它的作用域就是所有模块。 其中Public表示所有模块的所有其它过程都可调用这个Sub过程,甚至可以跨工作簿调用。也称公有过程。 Private表示只有当前模块中的其它过程才可以访问当前过程,称为私有过程。私有过程不会显示在工作表界面按

文档评论(0)

zzqky + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档