本帖最后由 hwc2ycy 于 2013-1-21 22:31 编辑
一、什么是自定义函数。
EXCEL里有工作表函数,VBA时有VBA函数。
那自定义函数,顾名思义,就是EXCEL自身没有提供由使用者自行编写的函数。
如何编写自定义函数呢。
通过FUNCTION语句声名 Function 过程的名称,参数以及构成其主体的代码。
语法
[Public | Private | Friend] [Static] Function name [(arglist)] [As type]
[statements]
[name = expression]
[Exit Function]
[statements]
[name = expression] End Function
如果使用 Call 语法来调用内建函数或用户定义函数,则函数的返回值将被丢弃
由于定义函数涉及的知识点很多,可以看看F1。
二、 自定义函数的常见问题
1 怎么让自定义函数在所有工作簿中使用?
把含有自定义函数的文件另存为加截宏,然后通过工具-加截宏-浏览找到这个文件-确定
2 怎么给自定义函数添加说明
工具-宏-宏名输入自定义函数的名称-选项--在说明栏中写入这个函数的名称
Application.MacroOptions方法中的Description参数
3、怎么给自定义函数分类
Application.MacroOptions方法中的Category参数
Integer | 类别 | 1 | 财务 | 2 | 日期与时间 | 3 | 数学与三角函数 | 4 | 统计 | 5 | 查找与引用 | 6 | 数据库 | 7 | 文本 | 8 | 逻辑 | 9 | 信息 | 10 | 命令 | 11 | 自定义 | 12 | 宏控件 | 13 | DDE/外部 | 14 | 用户定义 |
实例,反回某个单元格的公式,如果单元格不含有公式或或者参数中的单元格不止一个,则返回空值 - Function GetFormula(ByVal rg As Range) As String
- If rg.Count <> 1 Then Exit Function
- If rg.HasFormula Then GetFormula = rg.FormulaLocal
- End Function
复制代码 |