VBA 过程或函数作用域
VBA 中的过程和函数,与变量类似,也具有不同的作用域。根据声明位置和方式,有 3 种作用域:
- 模块作用域
- 工程作用域
- 全局作用域
1.模块作用域
在模块中,使用 Private 关键词声明的过程或函数,具备模块作用域,只能在当前模块中使用。
Private Sub Test()
End Sub
2.工程作用域
在模块中,顶部声明 Option Private Module
修饰语句,并且直接声明或使用 Public 关键词声明的过程或函数,具备工程作用域,在当前工程的所有模块中使用。
Option Private Module
Sub Test1()
End Sub
Public Sub Test2()
End Sub
以上例子中,Test1 过程和 Test2 过程均具备工程作用域。由于直接声明和使用关键词 Public
是等效的,因此可以省略 Public
关键词。
3.全局作用域
在模块中,直接声明或使用 Public 关键词声明的过程或函数,具备全局作用域。例如,
Sub Test1()
End Sub
Public Sub Test2()
End Sub
以上例子中,Test1 过程和 Test2 过程均具备全局作用域,可以在打开的任何一个工作簿中使用。
此外,它们还能直接在工作簿宏列表中执行。
转载注明:文章转载自「懒人Excel - www.lanrenexcel.com」
本文链接:VBA 过程或函数作用域
感谢作者的分享,小白系统看了一遍,有点上头了,期待继续分享~
你好作者 还会继续更新吗
会继续更新的,欢迎关注
还会更新吗 博主 期待你的更新
继续更新,欢迎关注
感谢作者
感觉作者,小白对Excel编程大概有了一点理解!
工程作用域和全局作用域的区别在哪?
工程作用域,只能通过工作簿内其他VBA代码调用使用。全局作用域,可以在excel宏列表里查看并运行。
追更!
写的很好,后面还会有更新吗?谢谢
会更新的,感谢关注
感谢大佬
2023年8月了 还木有更新么?
还更不?
更不?
不?
?
会更会更
VBA讲解深入浅出,问题回答耐心细致,学习到很多,非常感谢,希望能继续更新!
感谢大佬,很实用,从头看到尾。
后来讲的就不好了 突然变得很难懂
真的已经讲的非常棒了
人家已经讲的很好了。程序没有看教程就能看懂的。要多下手。
争取在以后的文章讲解的更清晰
我从头复习一下,搞好基础,等大佬更新后我能跟上节奏,谢谢大佬为我打开新世界的大门
看完了,奥里给
大佬 没有了嘛,大佬还在运营吗
还在运营,近期开始恢复更新,欢迎关注
期待大佬,大佬公众号有运营吗
有的,就是同名公众号,【懒人Excel】,欢迎关注
大佬!mark一下,正在学这个
作者你好,我想问一下现在全局作用域的概念是不是取消了?我尝试了下全局作用域的变量并不能在另一个工作簿中使用,最多到工程作用域就结束了。
这里涉及到程序中调用还是宏列表调用问题,两者确实存在差异。目前的结果来看,程序中不能直接调用其他工作簿的变量或过程。
啊哈,来早了,课程没更新完
竟然是最后一章了,还没有实例呢
对的 确少一个综合开发实例