VBA 定义能返回数组公式的自定义函数
返回一个变量大小结果数组的方法
此方法返回基于一个参数范围的值的数组。结果数组的大小具体取决于参数数组中的元素数量波动。例如对于假定您要创建一个范围中的每个值乘以 100 的函数。下面的自定义函数接受作为其参数的数组 (某一范围的值):
Function Multiply_Range(myrange As Object) As Variant
Dim temp As Variant
Dim i As Integer, j As Integer
temp = myrange.Value 'creates a copy of the values in myrange
' if more than one element then loop through both dimensions of
' the array and multiply each element by 100.
' if not more than one element then temp is multiplied by 100.
If IsArray(temp) Then
For i = 1 To UBound(temp, 1)
For j = 1 To UBound(temp, 2)
temp(i, j) = temp(i, j) * 100
Next j
Next i
Else
temp = temp * 100
End If
Multiply_Range = temp
End Function
若要用于自定义函数中的单元格 A1:A4 中输入以下数据:
A2: 3
A3: 1
A4: 2
选择范围 B1:B4 并以数组形式输入以下公式:
注意: 上述公式必须以数组公式的形式输入。若要将公式作为数组公式,在 Excel 中输入 windows,请按 CTRL + SHIFT +
ENTER。在 Excel 中为 Macintosh,请按命令 + ENTER。
结果将是:
A1: 5 B1: 500
A2: 3 B2: 300
A3: 1 B3: 100
A4: 2 B4: 200
要返回的固定大小数组结果的方法
此方法从自定义函数返回多个值假定您在所得数组中已经输入固定的个数的元素。
下面的自定义函数接受起始时间和结束时间,并返回它们在 3 行 1
列数组之间的小时、 分钟和秒数。 >
Function Elapsed_Time(start, finish As Date) As Variant
Dim hours, minutes, seconds As Integer
hours = Hour(finish - start)
minutes = Minute(finish - start)
seconds = Second(finish - start)
Elapsed_Time = Application.Transpose(Array(hours, minutes, seconds))
End Function
若要用于此自定义的函数 (例如对于 A1 和 A2 下面) 的两个单元格中输入开始时间和完成时间。
A2: 6:49:34
然后,突出显示的列 (例如对于到 A5 A3) 中的三个单元格,并以数组公式的形式输入以下内容:
注意: 上述公式必须以数组公式的形式输入。若要将公式作为数组公式,在 Excel 中输入 windows,请按 CTRL + SHIFT +
ENTER。在 Excel 中为 Macintosh,请按命令 + ENTER。
该结果将显示,如下所示:
A1: 1:00:00
A2: 6:49:34
A3: 5
A4: 49
A5: 34
如果您希望该函数输入水平代替垂直的单元格区域,更改 Elapsed_Time 该行在以读取行:
VBA 定义能返回数组公式的自定义函数的更多相关文章
- 题目要求:传入数组 内容为[['lisi','男','27'],['wangwu','男',18],['zhaoliu','男','30']],将此二维数组转化为一维数组,创建自定义函数完成
//自定义函数 function getOne($arr){ $str = ''; //定义空的字符串,用来接收值 foreach ($arr as $key=>$value){ //循环遍历数 ...
- 面向VBA一维数组的实用自定义函数
UDF.dll包含了一组实用的用户自定义函数,提供了数组处理的快速方法,可以在VB6.VBS.32位VBA中调用. 看完如下的实例代码,就明白它的用处了. Private MyUDF As New U ...
- C++ —— 返回数组指针的函数 和 返回指向函数的指针的函数
返回数组指针的函数 基础知识:数组不能被拷贝,函数不能返回数组,只能返回数组的指针或者引用. 定义一个 返回数组指针的函数 的方法,以 一个接收参数为 含有10个整型元素的数组的引用 和 返回一个含 ...
- PHP函数之自定义函数
像数学中的函数一样,y=f(x)是函数基本的表达形式,x可看做是参数,y可看做是返回值,即函数定义就是一个被命名的.独立的代码段,它执行特定的任务,并可能给调用它的程序返回一个值. 自定义函数 函数的 ...
- MySQL之运算符与函数、自定义函数
一自定义函数简介 (1)自定义函数定义 用户自定义函数(user-defined function,UDF)是一种对MySQL数据库扩展的途径,其用法与内置函数相同. (2)自定义函数的两个必要条件 ...
- MYSQL数据库重点:自定义函数、存储过程、触发器、事件、视图
一.自定义函数 mysql自定义函数就是实现程序员需要sql逻辑处理,参数是IN参数,含有RETURNS字句用来指定函数的返回类型,而且函数体必须包含一个RETURN value语句. 语法: 创建: ...
- linux shell自定义函数(定义、返回值、变量作用域)介绍
http://www.jb51.net/article/33899.htm linux shell自定义函数(定义.返回值.变量作用域)介绍 linux shell 可以用户定义函数,然后在shell ...
- PHP-自定义数组-预定义数组-自定义函数-预定义函数
(1)自定义数组 —— 项目中的重点 (2)PHP预定义数组 —— 重点&难点 (3)自定义函数 —— 了解 (4)PHP预定义函数 —— 项目中的重点 1.自定义数组 数组:array,一个 ...
- [VBA]用一个简单例子说明如何在Excel中自定义函数
Excel中的函数无疑是强大的,但是再强大的战士也有他脆弱的脚后跟[1].这两天在使用Excel的时候遇到了一个需求,要在某一个单元格里面自动计算今天是星期几(如显示 Today is Tuesday ...
随机推荐
- ZH奶酪:【Python】random模块
Python中的random模块用于随机数生成,对几个random模块中的函数进行简单介绍.如下:random.random() 用于生成一个0到1的随机浮点数.如: import random ra ...
- memsql 基本完全免费了
一个很好的消息是memesql 从6.7 版本开始,对于用户来说已经可以免费使用了(ha 以及安全功能),只是目前有一个 限制是集群内存最大可以使用的是128G,但是一般来说已经够用. 参考资料 ht ...
- Centos安装git2.2.1
由于Centos6.5使用yum -y install git 安装的git版本是 git --versiongit version 1.7.1 想要升级到2.2.1: ># yum remov ...
- hanlp中文自然语言处理的几种分词方法
自然语言处理在大数据以及近年来大火的人工智能方面都有着非同寻常的意义.那么,什么是自然语言处理呢?在没有接触到大数据这方面的时候,也只是以前在学习计算机方面知识时听说过自然语言处理.书本上对于自然语言 ...
- RK3288 wifi模块打开或关闭5G信号
CPU:RK3288 系统:Android 5.1 如果硬件使用的wifi模块支持5G,则系统设置中打开wifi,除了会搜索到普通的2.4G信号,还会搜索到xxx_5G信号. 如果路由器开了5G信号, ...
- 【android】Android ADB 端口占用问题解决方案
解决ADB端口占用问题 方式一5037为adb默认端口,若5037端口被占用,查看占用端口的进程PIDC:\Users\wwx229495>netstat -aon|findstr 5037 ...
- win xp firefox,chrome 在浏览网页时字体发虚,可以设置为新宋体
firefox,chrome 在浏览网页时字体发虚,比如:驱动之家.可以设置为新宋体.
- protobuf 协议 windows 下 java 环境搭建
使用maven编译protobuf所需要的jar包 1. 安装配置maven (1)下载maven http://maven.apache.org/ 版本:apache-maven ...
- BASIC-28_蓝桥杯_Huffuman树
题目: 问题描述 Huffman树在编码中有着广泛的应用.在这里,我们只关心Huffman树的构造过程. 给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下 ...
- document.write覆盖问题
1.不会覆盖页面: 如果仅仅是一句js语句:document.writeln('<span id=\'span1\'>嗯,你好</span>'); ps:\'是转义字符,代表' ...