32. VBA(六)过程与函数

2019-10-16  本文已影响0人  神农架村姑

函数有返回值,过程没有
函数可以在Excel表格中像一般的Excel函数那样使用,但过程不可以
过程可以指定给Excel表格中的按钮或者图片等对象,但是函数不可以
函数只能在被调用时执行,比如在过程中调用,或者在另一个函数中调用,或者在Excel表格中调用。但不能直接执行,而过程是可以的

1. 过程 Sub

Sub 过程名()
.... ' 需要在过程中执行的代码
End Sub

2. 函数 Function

Function 函数名(参数1, 参数2, ...) As 数据类型
....' 需要在函数中执行的代码
....函数名 = 函数执行后的结果
End Function

函数名就是返回值,数据类型就是返回值的类型

函数应当要有返回值的,因为如果不需要返回值,那就应该直接使用过程而不是函数了。

Function my_sum(n1 as Integer, n2 as Integer) As Integer
    my_sum = n1 + n2
End Function

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

3. 过程和函数的调用

3.1 过程的调用

Call 过程名

Call 过程名(参数1, 参数2, ...)
如果过程不带参数,那么可以使用第1种格式,过程名后面不需要括号

4. 参数的使用

必选参数

Sub sub_test(s As String)
    Debug.Print s
End Sub

在调用时,必须传入参数:

Sub test()
    Call sub_test("hello")
End Sub

可选参数

Sub sub_test(Optional s As String)
    Debug.Print s
End Sub

有默认值的可选参数

Sub sub_test(Optional s As String = "Hello, World")
    Debug.Print s
End Sub
上一篇 下一篇

猜你喜欢

热点阅读