您现在的位置是:主页 > VBA >
VBA中private sub和Private Sub过程的使用和区别;以及调用private sub和sub过程的三种方法
发布时间:2023-10-11 07:26:13所属栏目:VBA 已帮助人编辑作者:Excel自学教程
第一,认识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 语句主要是声明子过程的名称、参数、以及构成其主体的代码。其语法如下:
[Private | Public | Friend] [Static] Sub name [(arglist)]
[statements]
[Exit Sub]
[statements]
End Sub
注:[]中间的参数表示可选。可以不输入,则按默认设置进行。
Sub 语句的各部分详述如下:
Private:可选的。表示只有在包含其声明的模块中的其它过程可以访问该 Sub 过程。
Public:可选的。表示所有模块的所有其它过程都可访问这个 Sub 过程。 如果在包含 Option Private 的模块中使用,则这个过程在该工程外是不可使用的。
Friend:可选的。只能在类模块中使用。表示该 Sub 过程在整个工程中都是可见的,但对对象实例的控制者是不可见的。
Static:可选的。表示在调用之间保留 Sub 过程的局部变量的值。Static 属性对在 Sub 外声明的变量不会产生影响,即使过程中也使用了这些变量。
Name:必需的。Sub 的名称;遵循标准的变量命名约定。
Arglist:可选的。代表在调用时要传递给 Sub 过程的参数的变量列表。多个变量则用逗号隔开。
Statements:可选的。Sub 过程中所执行的任何语句组。
如果没有使用 Public、Private 或 Friend 显式指定,Sub 过程按缺省情况就是公用的。
第三,private sub和sub过程的写法
一个子过程的声明语句可以有以下多种写法:
第一:
Public Sub AA()
MsgBox "AA"
End Sub
第二:
Private Sub BB()
MsgBox "BB"
End Sub
第三:
Sub CC()
MsgBox "CC"
End 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 公共()
MsgBox "部落窝论坛:www.blwbbs.com欢迎你。"
End Sub
Private Sub 私有()
MsgBox "这是我的窝窝私人空间。"
End Sub
上面分别是sub和private sub过程。下面我们来讲讲调用方法。
调用方法一:直接使用过程名
1.调用sub 公共()
Sub 调用()
公共
End Sub
2.调用Private Sub 私有()
Sub 调用()
私有
End Sub
调用方法二:使用call调用
在过程名称前使用call关键字:call 过程名
Sub 调用()
Call 公共
Call 私有
End Sub
调用的两个过程写在一起,先执行第一个再执行第二个。
调用方法三:利用Application对象的Run方法:Application.Run 过程名
Sub 调用()
Application.Run "公共"
End Sub
过程名称也可以是字符串变量,比如下面这样写:
Sub 调用()
Dim a As String
a = "私有"
Application.Run a
End Sub
以上就是excel自学教程为您提供VBA中private sub和Private Sub过程的使用和区别;以及调用private sub和sub过程的三种方法的解读,本文章链接: http://www.5enet.cn/Excel_VBA/78878.html 欢迎分享转载,更多相关资讯请前往VBA
相关文章
- excel 隔行插入一行的两种方法,通过技巧和VBA操作来实现excel隔行插入一行
- Excel VBA 窗体之特殊形状窗体 几何形状组合窗体 实现代码
- VBA读取txt文件内容到excel,vba读取txt文件固定位置
- excel中vba变量类型和dim语句进行一些小结
- excel VBA中textbox的MaxLength属性限制文本框输入长度的设置方法
- excel中vba的属性和方法,以及属性方法的区别
- Excel VBA 窗体之添加最大最小化按钮 实现代码
- Excel VBA 窗体之去除窗体关闭按钮 实现代码
- excel VBA那点事之自动排班
- VBA非登陆下载Excel文件并处理例子
猜你喜欢
excel利用VBA转化公式中区域的引用类型
Excel公式中对区域或单元格的引用有多种引用类型,如: $A$1 绝对行和绝对列...excel 合并工作表的方法,用VBA代码实现合并工作表
下图所示:一个文件夹下面有多个excel工作薄,每个工作薄文件下面有不固定张...excel VBA字典技术_excel按类别拆分工作簿
工作中有时候需要将一张表格拆分为若干个新表,如下图为某电商销售信息表...excel vba if判断语句的使用方法,在最后以一个实例来剖析vba if语句的具体应用
vba if语句为判断语句。根据条件的值,可使用 If...Then...Else 语句运行指定的语...
企业IT外包服务
如何在Excel单元格中快速输入“√ 勾”?
COUNT函数使用策略
Excel中如何不复制隐藏的单元格
excel 如何利用分列快速提取出生年月日
如何在Excel中一次打开多个链接 如何在Excel中使用VBA宏打开多个超链接
excel如何利用最简单的方法批量制作条形码?
Excel 2019打印特定区域的3种方法图解教程
Excel中LEN函数的语法和用法
?Excel如何去除自动出现的人民币符号
excel 如何删除数据
excel 如何快速将公式值转数值
怎样清除Excel单元格中看不见的字符串
excel 不能自动求和的6大原因,并同时针对不同原因给出不同的解决方法来处理
Excel单元格内如何换行,这几招快拿小本本记下来
Excel表格怎么算乘法
扫码关注
- 专注IT行业,10年IT行业经验