7.3.8 函数
7.3.8 函数
程序设计中,书写代码时,某些程序功能单靠VBA提供的语句是难以实现的,特别是在进行数值计算时,如进行平方根运算、求正弦值、求余弦值等,系统不可能为这些特殊功能每个都提供一个特殊字符或关键字去处理它们。为了方便VBA编程,系统专门为这些特殊功能设计了一些小程序,这些小程序使用非常方便,使用时只要指定小程序名称及相应参数,就可以获得所需结果。这种小程序,在各种高级程序设计语言中,被称为函数。程序设计语言中的函数和数学中的函数类似,也是由函数名加小括号及参数构成。
VBA中函数分为两类。一类是系统函数,是由系统预先设计好的。另一类是用户自定义函数,用户可根据自己的需要自己编写函数。函数在使用时,需要正确地书写函数名、小括号及相应参数,函数的参数可能是无,也可能有一个或一个以上,但不论有无参数,函数最基本部分(函数名和小括号)必须书写。当函数漏写小括号或参数个数不对时,系统将提示出错。此外,还有一个问题需要注意,函数调用成功后,一般都有个返回值,如果将返回值赋值给某个变量,该变量的数据类型要和函数返回值相符。
下面分类介绍VBA常用系统函数
1.数学函数
数学函数用于处理数学计算问题,其常用函数如表7-5所示。
表7-5 常用数学函数
本组函数参数x为数值型,返回值均为数值型。
例如:
2.字符串函数
字符串函数用于对字符进行相应处理,其常用函数如表7-6所示。
表7-6 常用字符串函数
这组函数除了Len与Instr返回值为数值型外,其他全部返回字符串。例如:
3.日期和时间函数
日期和时间函数用于对日期/时间进行相应处理,其常用函数如表7-7所示。
表7-7 常用日期/时间函数
这组函数中前三个函数可以不带参数,后面7个函数中参数x为日期型数据。例如:
4.类型转换函数
不同类型的数据在一起进行运算,会产生类型不匹配问题,如"123"+12,一个是字符型,一个是数值型,两者数据类型不匹配。因此,不同类型数据参加运算时,需要通过类型转换函数进行数据类型转换才能正常参加运算。常用类型转换函数如表7-8所示。
表7-8 常用类型转换函数
例如: