2

我已经在 SO 上查看了许多关于 XLL 和数组的线程,但我现在比以往任何时候都更加困惑。对不起,如果以下内容完全是菜鸟,但这就是我在这里的原因......

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

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

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

4

1 回答 1

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

于 2014-09-08T20:36:25.070 回答