XLL可以从单格公式返回任意大小的数组吗?

时间:2014-09-08 20:21:31

标签: excel xll

我已经在SO上看了很多关于XLL和阵列的线索,但我现在比以往更加困惑。对不起,如果以下是完全noob,但这就是为什么我在这里......

我被告知无法编写可以返回任意数据数组的XLL函数。您可以从代码中返回数组,但必须从数组公式(CSE)调用它们。这意味着必须预先定义返回空间的大小。

在我们的例子中,函数将返回N行(和/或cols)数据,我们事先不知道会有多少行。理想情况下,我们只需在一个单元格中放置一个公式,并根据需要使用尽可能多的单元格。

我在这里找到的代码示例并不强烈建议其中一个,但似乎像XLOPER12(可能是XLOPER)对返回的大小没有限制。 Excel返回后会施加限制吗?

1 个答案:

答案 0 :(得分:3)

XLL UDF(也是VBA UDF)或者可以返回可变大小的数组 - 但Excel只会将结果分配给输入UDF的单元格。 要处理未知数量的结果,您可以:

将UDF输入到需要的最大单元数中

或者返回一个内部数组的句柄,并构建可以解释句柄的其他UDF       

建立一个缩放平台:见http://colinlegg.wordpress.com/2014/08/25/self-extending-udfs-part-1/
https://groups.google.com/forum/#!topic/exceldna/oBKpr0BCgmU