函数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 过程和函数
作者QQ4577105