学习VBA,报表做到飞 第一章 入门篇 1.27 过程与函数

学习VBA,报表做到飞 第一章 入门篇 1.27 过程与函数,第1张

第一章 入门篇

1.27 过程与函数

《学习VBA,让你报表做到飞》的第一章入门课程准备就写这么多内容。通过本章的学习,大家会发现,我们不用VBA的数组、字典、正则表达式等高能功能,只是通过一些循环、判断、偏移等语句,利用Excel的查找、替换、定位等常用功能,通过对Excel对象的方法、属性的操作,我们就已经可以实现很多功能了。本章的结尾,我们再讲一下VBA程序的写法。

VBA代码有两种组织形式,一种是我们学过的过程,也就是下面这个格式:

Sub 程序名字()

......

End Sub

另一种是函数,格式是这样的:

Function 函数名字(参数1,参数2,...)

代码...

函数名字=代码运行后得到的结果

End Function

为什么有时候会把代码写在函数里呢?

虽然我们可以把所有代码都写在一个过程里,但这样有可能会造成代码非常长,非常难以维护,也不便于其他人查看修改。这样,对于一些重复性的代码,把它们放在函数里独立出去,需要的时候在过程里直接调用函数,就会让代码变得简洁明了,便于维护。

与过程不同的是,有的函数有返回值,函数在Excel表格中可以像一般的Excel函数那样使用,过程不能。但函数不能像过程那样指定给Excel表格中的按钮或图片等对象,并且函数不能直接执行,只能在被过程或其它函数调用时执行。

比如我们定义一个求和函数:

Function 求和(x%, y%)

Dim s%

s = x + y

求和 = s

End Function

它接受两个整型参数,求和后把执行结果赋值给函数名,就可以在调用这个函数时得到这个函数的执行结果。

定义好了以后,就可以使用这个函数了。比如在过程中调用:

Sub 测试()

Dim s%

s = 求和(123, 867)

MsgBox s

End Sub

函数的参数和返回值都不是必须的,都可以没有。函数的参数分为必选参数和可选参数两种。必选参数在调用时必须加上,否则会报错。可选参数则可写可不写,在参数名前加Optional就表示这个参数是可选参数。可选参数还可以定义默认值,如果调用函数时不选可选参数,系统就自动使用定义的默认值。

比如上面的求和函数,我们重新定义一下它的参数:

Function 求和(x%, Optional y% = 100)

Dim s%

s = x + y

求和 = s

End Function

定义了一个必选参数x和一个可选参数 y,y的默认值是100。这样在调用这个函数时,我们可以只提供一个参数:

Sub 测试()

Dim s%

s = 求和(123)

MsgBox s

End Sub

最后返回123和100的和。如果提供两个参数,可选参数就会按照我们提供的值去执行,而不是执行默认值。

函数可以接受参数,可以有返回值,不能直接执行,只能在被过程或其它函数调用时执行。过程可以直接执行,也可以被其它过程或函数调用,但过程不能接受参数,没有返回值。这就是函数与过程的区别。在代码编写上,它们是一样的。函数的主要功能也就是把一段代码独立包装出来,需要它的时候,直接调用该函数即可。所以笔者安排在第一章的结尾部分,对函数做了一些简要的介绍,不再展开学习。下一章,我们将开启数组之旅!


本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 学习VBA,报表做到飞 第一章 入门篇 1.27 过程与函数

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情