分享

深度讲解VBA重要概念:什么是过程

 满泉ca85upjdlw 2019-04-15

大家好,我们今日继续讲解VBA代码解决方案的第109讲内容:VBA中什么是过程。我的理解,过程就是执行某些动作的代码组合,这些组合是以完成某项任务为目的。VBA过程分Sub过程和Function过程。前者是通常意义上的过程,后者经常称之为函数过程。

首先我们分析一下两者的特点:

1 Sub过程:总是以'sub 过程名()'开头,以'End Sub'结尾,一个过程就是执行某项动作的一套指令,Sub过程不返回运行的结果。在这个过程中需要执行的代码放在中间。格式如下:

Sub 过程名()

代码 ' 需要在过程中执行的代码

End Sub

要注意的是:过程名后面的括号是必须的,过程可以带参数,就放置在括号里面。我们看下面的实际过程举例:

Sub MyTypeDemo()

Dim sTest As String

Dim i As Integer

sTest = '欢迎你来到这个平台学习VBA!'

For i = 1 To Len(sTest)

Range('A1').Value = Left(sTest, i)

Sleep 200

Next

End Sub

上面的过程名称是MyTypeDemo,最后以End Sub结束,中间的语句是一组对象动作的组合。其中的意义不再详细的介绍了,之前的文章介绍过。

深度讲解VBA重要概念:什么是过程

2 Function过程:总是以'Function 程序名()'开头,以'End Function'结尾,和Sub过程的区别是Function过程有返回的值,值可以是一个值或一个数组,就像我们的工作表函数,Function过程也就是我们说的自定义函数。

格式如下:

Function 函数名(参数1, 参数2, ...) As 数据类型

' 需要在函数中执行的代码

函数名 = 函数执行后的结果

End Function

函数名后面的括号是必须的,函数通常都带有参数,放置在括号里面。函数也可以不带参数,但这种情况下的函数通常没什么意义。

括号后面的 As 数据类型,虽然并不是必须的,但是我强烈建议加上。因为函数通常都需要有返回值,这个数据类型就表示着返回值的数据类型。

函数体最后通常都带有一条返回值语句,把函数执行的结果赋值给函数名,就可以在调用这个函数的地方得到这个函数的执行结果。这个返回结果的数据类型应该与函数名后面As的数据类型一致,否则可能会出错。

在我这个平台上讲解过函数的概念,如果对于唯一性输入值value,输出(或者return)的值也具有唯一性(这种输入或者输出的值没有个数的限制),那么具有这种变化关系的输入和输出关系,就称为输出是输入的函数.可见函数是一个过程。

函数示例:

Function mysum(n1 as Integer, n2 as Integer) As Integer

Dim s As Integer

s = n1 + n2

mysum = s

End Function

上例中定义了一个名为mysum的函数,它接受两个类型为Integer的参数,并且返回值是Integer类型。在函数内部计算了这两个参数相加的和,并把这个和作为返回值赋给mysum。可以通过调用这个函数,并传递相应的参数,获得它的返回值。

定义函数后,就可以在VBA中的过程,或者其它函数,或者在Excel表格中使用这个函数了。

到今天为止我把对象、属性、方法和事件过程的概念结合我自己的理解给大家分享了一遍,其实读者完全不必全部记住它们,需要的时候知道在哪里找就行,在我的这个平台上有很多的文章,每个文章都是一个模块,可以独立的完成某项任。当你需要进行某项操作的时候,查找一下相关的模块,不需要的东西,给它修修枝,剪剪叶,整理整理,一个程序就OK了。真的很简单,如果你不想在平台上查找,我这里提供给你资料。有了这些专有的模块,你的程序会非常的简单。(我写程序也是这么写的)

今日内容回向:

1 什么是过程?

2 如何写代码程序呢?

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多