龙空技术网

别怕VBA:SUB过程

Excel之家 1629

前言:

现时各位老铁们对“类中调用函数”可能比较看重,大家都想要剖析一些“类中调用函数”的相关内容。那么小编在网上搜集了一些有关“类中调用函数””的相关知识,希望我们能喜欢,姐妹们快快来学习一下吧!

听过VBA代码吗?羡慕能用代码高效办公的人吧!VBA代码远没有大家想象的那么难,跟着小编学一起学吧!

VBA过程就是完成某个任务所需VBA代码的有序组合。VBA中的过程包含子程序过程、函数过程和属性过程三类。

子程序过程也称为Sub过程,使用宏录制器录下来的宏和前面学习的事件过程都属于Sub过程,它是VBA中最常用的一类过程。

函数过程也称为Function过程,一个Function过程就是一个自定义函数。可以像使用工作表函数或VBA内置函数一样,在Excel的工作表或VBA过程中使用Function过程。

Sub 过程写在哪里

通常,我们将除事件过程之外的Sub过程保存在图 7 - 1 所示的模块对象中。

图 7-1 【工程窗口】中的模块类对象

如果把Sub过程保存在模块之外的其他对象,如Worksheet或ThisWorkbook模块中,那 么Sub过程将成为私有过程,只在所属的模块中有效,可能会影响后期Sub过程的使用。

所以,将普通的Sub过程保存在模块对象中,虽然不是必须的,却是一种规范的做法。【工程窗口】中的每个对象都可以保存多个过程。实际使用时,为了便于对过程的管理,可以像给文件分类一样,将不同功能的过程保存在不同的模块中进行分类管理。

Sub 过程的基本结构

VBA中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一秒超人”!

推荐阅读

北京大学出版社

《别怕,Excel VBA其实很简单》

标签: #类中调用函数 #在一个函数中调用另一个函数称为