函数有返回值,过程没有
函数可以在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
网友评论