学会编写Sub过程后,你有什么想要完成的操作?试着编写一个过程,让程序替你完成。
参考答案
答案参考书中的任意一个Sub过程。
并不是只有模块对象才能保存过程,Excel对象(或窗体对象)也能保存过程,如图3-42所示。
图3-42 Excel类模块
为了避免发生错误,建议将Sub过程和Function过程保存模块对象中。
和一个文件夹可以保存多个文件一样,一个模块也可以保存多个过程。如果需要,你也可以像给文件分类那样,建不同的模块来保存功能不同的过程。
声明Sub过程,规范的语句
尽管一个Sub过程可以包含任意多的代码,但就像做20桌饭菜,为了更有效、更有条理地把任务完成,总是需要有明确的分工:张三洗菜,负责完成洗菜的过程,李四烧饭,负责烧饭的过程,最后把大家的过程合起来就完成了整个任务。
分工后,哪个过程出现问题,比如菜没洗干净,就直接去找张三。
编程也一样,当需要处理的任务比较复杂时,可以用多个小过程去完成,每个过程负责完成一个特定的、较为简单的目的,最后通过执行这些小过程来完成最终目的。
3.8.3 从另一个过程执行过程
下面是在3.7.1小节中编写的过程:
如果想在另一个过程里使用代码执行它,常用的方法有如下三种。
方法一:输入过程名称以及参数,参数用逗号隔开。
方法二:在过程名称以及参数前使用Call关键字,参数用括号括起来,并用逗号隔开。
方法三:利用Application对象的Run方法,语句形式如下。
3.8.4 过程的作用域
过程按作用域的不同分为公共过程和私有过程。
命公共过程
公共厕所、公共汽车……戴着“公共”的帽子,意味着这个东西大家都可以使用。
私有过程
家里买了一辆私家车,肯定不会让街上的每个人都坐着它去上班。哪辆是公共汽车,哪辆是私家车,为了区别开来,要给它贴上特殊的标识。
如果想把模块中的所有过程全部声明为私有过程(包括已经声明为公共过程的过程),只需在模块中第一个过程之前写上“Option Private Module”即可,如图3-42所示。
图3-43 将模块里所有过程声明为私有过程
谁有资格调用私有过程
如果一个过程被声明为私有过程,只有这个模块里的过程才能调用它。如果想让其他模块中的过程也能调用,应该把它声明为公共过程。
私有过程不会在【宏】对话框里显示,如图3-44所示。
图3-44 私有过程不在宏对话框里显示