vba 自定义function返回值_VBA代码解决方案第109讲:VBA概念深度讲解:什么是过程...

大家好,我们今日继续讲解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结束,中间的语句是一组对象动作的组合。其中的意义不再详细的介绍了,之前的文章宏介绍过。

c944750e2e0732eccf2bd8cd71d38c75.png

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 如何写代码程序呢?

我的自媒体平台:微信号“NZ9668”、头条号“VBA专家”、百家号“VBA与GO语言”、微信公众号“NZ_9668”、社群“VBA学习交流群”。

《VBA代码解决方案》是我将自己撰写的非常实用的VBA内容结集成册,PDF文件,大家可以从中直接查找到你想要解决问题的思路和方法,可以复制文中的VBA代码直接使用。有需要的朋友微信联络我NZ9668。

ded7182202f539949a1c5b688cd49e22.png

bc261a1a5db6a2d230f0891decfa14b9.png
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页