对于作为参数传递的数组大小,Excel-VBA 2007似乎具有64k的限制。在VBA中传递数组参数的数组大小限制
是否有人知道修复或解决方法?
下面的代码:
Public Function funA(n)
Dim ar()
ReDim ar(n)
funA = ar
End Function
Public Function funB(x)
funB = UBound(x)
End Function
从Excel中:
=funB(funA(2^16-1)) '65536 as expected
=funB(funA(2^16)) 'Gives a #VALUE
看里面,FUNA()工作正常,但传递给funB,参数X是误差2015年
这里有一些背景[Excel 2007工作表函数中的最大数组大小?](http://windowssecrets.com/forums/showthread.php/128704-Max-Array-size-in-Excel-2007-Worksheet-Function)。你真的需要用UDF做什么?这将指导我们的建议。 – brettdj
该引用看起来像是该问题的一个变体。我需要做的事情就是你所看到的,除了数组将填充数字(一个样本分布),funB用它来做有趣和令人兴奋的事情。 –