用户定义的函数接受可变大小的用户选择的数组

时间:2015-01-08 15:51:27

标签: arrays excel function defined

不确定是否可能,我找不到显示如何执行此操作的具体问题。我基本上打算编写一个像SUM(或Excel中的任意数量的函数)一样的函数。用户可以从电子表格中调用该函数,并从SS中选择一个可变大小的一维数字作为参数。为了便于说明,我尝试编写以下测试函数来学习如何执行此操作:

功能测试(tester()As Double)As Double

MsgBox“数组位置1 =”+测试员(1) 测试=测试仪(1) 结束功能

这只是我试图让它工作的事情的一种表现形式,但是无论何时我选择来自SS的数据作为我的函数的参数,它都使得单元格变为“#Value”。我想我需要用范围做一些聪明的事情,但我对此非常陌生。值得注意的是,我可以在代码中在幕后传递函数,但不能掌握允许用户从SS中选择数据。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

尝试这样的事情

Public Function TestFunc(TestRange As Range) As Variant
Dim vArray As Variant
vArray = TestRange.Value2
If IsArray(vArray) Then
TestFunc = vArray(1, 1)
Else
TestFunc = vArray
End If
End Function