美文网首页
32. VBA(六)过程与函数

32. VBA(六)过程与函数

作者: 神农架村姑 | 来源:发表于2019-10-16 09:01 被阅读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
    

    相关文章

      网友评论

          本文标题:32. VBA(六)过程与函数

          本文链接:https://www.haomeiwen.com/subject/xuhymctx.html