VBA学习笔记30:自定义函数 |
您所在的位置:网站首页 › excel怎么输入自定义函数 › VBA学习笔记30:自定义函数 |
学习资源:《Excel VBA从入门到进阶》第30集 by兰色幻想 在VBA中有VBA函数,我们还可以调用工作表函数,我们能不能自已编写函数呢? 可以的! 一、自定义函数的结构 Function 函数名称(参数1,参数2....) 代码 函数名称=返回的值或数组 End Function二、编写自定义函数 举几个例子: 1 取得工作表总个数的自定义函数 编写原理:工作表属性 Function shcount() shcount = Sheets.Count End Function2 取得单元格显示值的自定义函数 编写原理:单元格属性 Function getv(rg As Range) getv = rg.Text End Function3 截取字符串的函数 编写原理:利用数组和Split函数 Function jiequ(sr As String, fh As String, wz As Integer) Dim Arr Arr = Split(sr, fh) jiequ = Arr(wz - 1) End Function4 提取不重复值的个数 编写原理:利用字典key的唯一性 Function 不重复个数(rg As Range) Dim d, Arr, ar Arr = rg Set d = CreateObject("scripting.dictionary") For Each ar In Arr d(ar) = "" Next ar 不重复个数 = d.Count End Function三、使用自定义函数 1.让自定义函数在所有工作簿中使用 把含有自定义函数的文件另存为加截宏,然后通过开发工具-加截宏-浏览找到这个文件-确定。 3 给自定义函数添加说明 拿上面写的截取字符串的函数做例子: Function jiequ(sr As String, fh As String, wz As Integer) Dim Arr Arr = Split(sr, fh) jiequ = Arr(wz - 1) End Function操作:开发工具-宏-在宏名输入框中输入自定义函数名“jiequ”-点击选项-输入说明-确认,关闭 这样就能在插入函数中看到它的说明了。 4 给自定义函数分类 还是以上面为例,jiequ函数只能在全部类别中找到。 可以到VBE里写一段程序,把它放到统计类别里。 Sub 分类() Application.MacroOptions "jiequ", Category:=4 End Sub注: 0 是全部 1 财务 2 日期和时间 3 数学和三角 4 统计 5 查找和引用 6 数据库 7 文本 8 逻辑 9 信息 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |