vba中function(自定义函数)
自定义函数:顾名思义,就是自己定义的函数。 为什么使用自定义函数:exce内置了很多有用的函数。但仍无法满足工作需求。 自定义函数的作用:简化复杂的公式。可以和工作表函数相互嵌套使用 Function 函数名(参数1,参数2....) 代码 函数名=代码执行的结果 End Function
1.函数名称可能有函数,也可以像now,today,rand等函数一样不需要任何参数 Public Function stname() stname = ActiveSheet.Name 返回当前工作表名 End Function
Public Function wbname() wbname = ThisWorkbook.Name 返回工作簿名 End Function
有参数的自定义函数 Function nas(num As Integer) 提取工作表名或工作簿名 If num = 0 Then nas = ActiveSheet.Name ElseIf num = 1 Then nas = ThisWorkbook.Name End If End Function
1.自定义工作函数的调用
Function wbname() wbname = ActiveWorkbook.Name End Function
Function wbnames() i = InStr(wbname, ".xls") 调用自定义的工作表函数,找到.xls所在的位置 j = Left(wbname, i - 1) 调用自定义的工作表函数 wbnames = j End Function
2.自定义工作表函数的编写与运用范围 自定义工作表函数的代码只能编写在:标准模块中,不能在工作表中或thisworkbook中 到目前为止我们编写的自定义函数只能在当前工作簿运行。要在所有工作簿中运行则: A.将编写在标准模块中的自定义函数代码保存为:加载宏。 B.将加载的宏保持运用即可 提示:与应用程序事件程序的操作方法相似
案例:
参数不定的自定义函数:
参数值默认和参数缺省:
ps:如果上面看懂了,下面就不用看了,不然看的头疼!
ByVal是值传递,ByRef是地址传递
回顾11章中的内容:
ByVal是值传递,ByRef是地址传递
好了,参数讲完,回归,function用法:
