VBA 函数与 VBA 过程很相似,除了使用的关键词外,主要区别是,函数可以返回值。
无参数函数
无参数 VBA 函数的基本语法如下:
Function [函数名]() As [返回值类型] 语句1 语句2 ... 语句n [函数名] = [返回值] End Function
|
可以看到,函数使用 Function 和 End Function 语句作为函数的开始和结束。
函数包含的语句中,相比过程,可以看到多一个 [函数名] = [返回值] 语句,这是函数的返回值语句。函数名后制定该函数返回值的类型,语法与声明变量类似。
有参数函数
函数与过程一样,也可以接收参数,其语法与过程相同。
Function [函数名]([变量名1] As [数据类型1],...[变量名n] As [数据类型n]) As [返回值类型] 语句1 语句2 ... 语句3 [函数名] = [返回值] End Function |
调用函数(Function)
函数与子过程的区别是,函数可以返回值。如果一个函数不返回值,它与子过程并无区别,其中调用方式与子过程相同。
调用有返回值的函数时,一般有两种情形:
- 一是,使用一个变量存储函数返回的值
- 二是,函数返回的值参与其他计算
两种情形调用函数方式相同,无参数函数直接书写,有参数函数将参数放在括号内。
|