本文介绍VBA中private sub和Private Sub过程的使用和区别;以及调用private sub和sub过程的三种方法。 第一,认识private sub和sub过程 Excel VBA里,我们会接触到private sub私有过程和sub过程。前者private sub是私有过程,sub是公共过程。过程也有私有和公共之分。 想把一个过程声明为公共过程,使用:Public Sub 过程名;其中的Public就是公共过程的标识牌。 如果想声明为私有过程,则:Private Sub 过程名;其中的Private就是私有过程的标识牌。 如果省略前面的Public,只写sub 过程名,就是公共过程。 第二,private sub和sub过程的区别 private sub和sub过程有什么区别呢?VBA的过程主要包括sub过程和function过程两种。sub过程不可以返回值,function过程可以返回值。比如我们经常录制的宏就是一个简单的sub过程,使用录制宏功能只能生成sub过程的代码。 private sub 和sub过程都是在模块中使用。下面我们具体看看private sub私有过程和sub过程的使用和区别。 Private Sub与Sub的区别是什么?完整地说,应该是Private Sub与Public Sub的区别是什么。(Sub 实际上是省略了Public关键字)。 Sub过程:在一程序内执行特殊任务的过程,不返回显式值。Sub 过程以Sub 语句开头,以 End Sub 语句结尾。 Sub 语句主要是声明子过程的名称、参数、以及构成其主体的代码。其语法如下: Sub 语句的各部分详述如下: 第三,private sub和sub过程的写法 一个子过程的声明语句可以有以下多种写法: 第一: 第二: 第三: 以上三个过程的区别在于过程AA使用了Public语句,使过程成为工程级别的过程,在当前工程中任何模块都可以调用。过程BB使用了Private语句,则为模块级别的过程,只能当前模块可以调用此程序。过程CC使用了缺省设置,它的级别等同于过程AA。 Public sub和Private sub只能选一个,选择了Public sub就不能选择Private sub,反之亦然。一个工作薄中一个过程被申明为Public sub后,表明声明的过程是一个公共过程,一个过程被申明为公共过程之后,就表明该工作薄中所有的模块中的其它的过程都可以访问这个过程。 Private sub过程只有同一个模块中的其它过程才能访问。 private sub 和sub过程在调用方面的区别:我们在excel工作表中使用快捷键“Alt+F8”打开宏对话框,只能看到过程AA和过程CC。也就是说private sub过程是不会显示在宏对话框里面的。 第四,private sub和sub过程的调用方法 也就是从一个过程执行另一个过程的方法: Sub 公共() Private Sub 私有() 上面分别是sub和private sub过程。下面我们来讲讲调用方法。 调用方法一:直接使用过程名 1.调用sub 公共() Sub 调用() 2.调用Private Sub 私有() Sub 调用() 调用方法二:使用call调用 在过程名称前使用call关键字:call 过程名 Sub 调用()
调用方法三:利用Application对象的Run方法:Application.Run 过程名 Sub 调用() 过程名称也可以是字符串变量,比如下面这样写:
|