Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3404|回复: 7

[分享] 【烟花原创】VBA零基础之第151篇 过程(一)

[复制链接]
发表于 2014-4-13 22:08 | 显示全部楼层 |阅读模式
本帖最后由 hwc2ycy 于 2014-4-18 08:34 编辑

聊完了变量再来看看过程的。
一、声明
1.Private
当在声明过程时在Sub或Function前面加上了Private语句,则表示只有在包含其声明的模块中其它过程可以访问该Sub或Function过程。
注意:如果没有使用 Public、Private 或 Friend 显式指定,Sub 过程按缺省情况就是公用的

模块1中代码:

模块1中声明了demo1和demo2两个过程。其中demo1在声明时加了private语句,表示该过程是私有的,只能被模块1的过程所调用。

模块2中代码:


当运行模块2中的demo4过程时,会弹出如下错误:

原因就在于demo1声明时明确指示了是私有的,非模块1中的代码不能访问。

再在模块中添加以下过程:

由于模块1的demo2声明时没有加private语句(公用),所以模块2中的demo3过程可以访问demo2,在demo2中再访问demo1(曲线调用,纯为演示)。

2.Public
表示所有模块的所有其它过程都可访问这个 Sub 过程。 如果在包含 Option Private 的模块中使用,则这个过程在该工程外是不可使用的。使用Public语句,可以实现跨模块或过程调用过程。

3.Static
表示在调用之间保留 Sub 过程的局部变量的值。Static 在 Sub 外声明的变量不会产生影响,即使过程中也使用了这些变量。同之前讲到的静态变量一样,静态变量只对使用static声明的变量才有效(只能在过程内使用)。Static过程中的所有变量都能保存其值直至工程重启或模块重置。
示例代码:


4.Friend
Friend 使得该过程在整个工程中都是可见的,但是对于一个对象实例的控制器却是不可见的。Friend 只能出现在窗体模块和类模块中,并且只能修改过程的名称,不能修改变量或者类型。一个类中的过程可以访问某个工程所有其它类的 Friend 过程。Friend 过程不会出现在类的类型库中。一个 Friend 过程不能被后期绑定。
发表于 2014-4-13 22:15 | 显示全部楼层
回复

使用道具 举报

发表于 2014-4-13 22:44 | 显示全部楼层
回复

使用道具 举报

发表于 2014-4-18 08:21 | 显示全部楼层
模块1的图片出问题啦,请重新上传。
回复

使用道具 举报

 楼主| 发表于 2014-4-18 08:34 | 显示全部楼层
zjdh 发表于 2014-4-18 08:21
模块1的图片出问题啦,请重新上传。

谢谢,已经上传了。
回复

使用道具 举报

发表于 2014-4-27 08:50 | 显示全部楼层
支持{:35:}
回复

使用道具 举报

发表于 2014-6-13 17:04 | 显示全部楼层

模块1的图片出问题啦,请重新上传。
回复

使用道具 举报

发表于 2014-6-18 16:42 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-2 21:21 , Processed in 0.285056 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表