VBA学习笔记30:自定义函数

您所在的位置:网站首页 excel怎么输入自定义函数 VBA学习笔记30:自定义函数

VBA学习笔记30:自定义函数

#VBA学习笔记30:自定义函数| 来源: 网络整理| 查看: 265

学习资源:《Excel VBA从入门到进阶》第30集 by兰色幻想

在VBA中有VBA函数,我们还可以调用工作表函数,我们能不能自已编写函数呢?

可以的!

一、自定义函数的结构

Function 函数名称(参数1,参数2....) 代码 函数名称=返回的值或数组 End Function

二、编写自定义函数

举几个例子:

1 取得工作表总个数的自定义函数

编写原理:工作表属性

Function shcount() shcount = Sheets.Count End Function

2 取得单元格显示值的自定义函数

编写原理:单元格属性

Function getv(rg As Range) getv = rg.Text End FunctionA7是设置了自定义格式,输入1,显示的是1月

3 截取字符串的函数

编写原理:利用数组和Split函数

Function jiequ(sr As String, fh As String, wz As Integer) Dim Arr Arr = Split(sr, fh) jiequ = Arr(wz - 1) End Function

4 提取不重复值的个数

编写原理:利用字典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没有说明信息这是Excel原有的函数,可以看到它的说明

操作:开发工具-宏-在宏名输入框中输入自定义函数名“jiequ”-点击选项-输入说明-确认,关闭

这样就能在插入函数中看到它的说明了。

4 给自定义函数分类

还是以上面为例,jiequ函数只能在全部类别中找到。

可以到VBE里写一段程序,把它放到统计类别里。

Sub 分类() Application.MacroOptions "jiequ", Category:=4 End Sub

注:

0 是全部

1 财务

2 日期和时间

3 数学和三角

4 统计

5 查找和引用

6 数据库

7 文本

8 逻辑

9 信息

执行宏之后就能在统计类别找到jiequ函数



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3