函数Function

函数的定义与调用Function

  • 无参子函数定义与调用
    //无参子函数的定义:
    Function [函数名]() As [返回值类型]
        //语句1
        //语句2
        //...
        //语句n
        [函数名] = [返回值]
    End Function
    
    //无参子函数的调用:直接写函数名就好了 不用写括号
    //E.g:
    Sub Main()
        //函数返回值继续参与计算
        Dim result As Double
        result = RandNum + 3    //直接写函数名就好了
    End Sub
    
    '函数:返回一个随机值
    Function RandNum()
        RandNum = Rnd * 100      //[函数名] = [返回值]
    End Function
  • 有参子函数定义与调用
    Function [函数名]([变量名1] As [数据类型1],...[变量名n] As [数据类型n]) As [返回值类型]
        //语句1
        //语句2
        //...
        //语句3
        //[函数名] = [返回值]
    End Function
    
    //E.g:
    //子过程
    Sub Main()
        Dim result As Double
        result = Add(12, 345)    //有参的子函数 调用要用小括号包起来;子过程不用
    End Sub
    
    //子函数:返回两数的和
    Function Add(num1 As Double, num2 As Double) As Double
        Add = num1 + num2
    End Function

     

Tips:

  • 函数与子过程的区别是,函数可以返回值。如果一个函数不返回值,它与子过程并无区别,其中调用方式与子过程相同。因此我们建议,不需要返回值时,直接使用子过程代替函数。
  • 函数括号后面的 As 数据类型 虽然并不是必须的,但是我强烈建议加上。因为函数通常都需要有返回值,这个数据类型就表示着返回值的数据类型。
  • 函数体最后通常都带有一条返回值语句,把函数执行的结果赋值给函数名,就可以在调用这个函数的地方得到这个函数的执行结果。这个返回结果的数据类型应该与函数名后面As的数据类型一致,否则可能会出错。

函数的提前结束

Exit Function结束 当前函数

End 结束 当前运行的所有VBA 过程和函数

posted @ 2023-06-19 15:18  iZJ"Qq4577105  阅读(21)  评论(0编辑  收藏  举报