SUB过程(别怕VBA)
Sub 过程写在哪里
如果把Sub过程保存在模块之外的其他对象,如Worksheet或ThisWorkbook模块中,那 么Sub过程将成为私有过程,只在所属的模块中有效,可能会影响后期Sub过程的使用。
所以,将普通的Sub过程保存在模块对象中,虽然不是必须的,却是一种规范的做法。【工程窗口】中的每个对象都可以保存多个过程。实际使用时,为了便于对过程的管理,可以像给文件分类一样,将不同功能的过程保存在不同的模块中进行分类管理。
Sub 过程的基本结构
过程的作用域
决定它可以在哪个范围内被调用。按作用域分,过程可以分为公共过程和私有过程。
Public Sub 过程名称 ([ 参数列表 ])
或者:
Sub 过程名称 ([ 参数列表 ])
例如:
Public Sub 公共过程 ()
MsgBox ' 我是公共过程!'
End Sub
或者
Sub 公共过程 ()
MsgBox' 我是公共过程!'
End Sub
如果在声明过程时省略Public关键字,这个过程也将被声明为公共过程。
私有过程就像小区里的私家车位。就像给私家车位、专用车位做标识一样,对一些只希望在某个范围才能使用的私有过程,在声明时,应给它带上特殊的标识,以指明它私有的身份。声明私有过程的代码为:
Private Sub 过程名称 ([ 参数列表 ])
在过程中执行另一个过程
下面是一个在工作簿中新建 5 张新工作表的过程:
方法一:直接使用过程名称调用过程
要在过程中调用另一个过程,可以直接将过程名称写成单独的一行代码,如:
Sub 执行另一个过程 ()
ShtAdd
End Sub
如果要执行的过程有参数,应将参数写在过程名称后面,过程名称与参数、参数与参数之间用英文半角逗号隔开,语句结构为:
过程名 , 参数 1, 参数 2,……
方法二:使用 Call 关键字调用过程
另一种调用过程的方法是使用Call关键字,代码结构为:
Call 过程名 ( 参数 1, 参数 2,……)
如果过程没有参数,只需写过程名称,不用写过程名称后的括号,如:
Sub 执行另一个过程 ()
Call ShtAdd
End Sub
方法三:使用 Application 对象的 Run 方法调用过程
用这种方法调用过程的代码结构为:
Application.Run 表示过程名的字符串 , 参数 1, 参数 2, ……
例如:
Sub 执行另一个过程 ()
Application.Run 'ShtAdd'
End Sub
学会了吗?快速提高你的效率吧!从此变“excel一秒超人”!