Excel-VBA 2007 似乎对作为参数传递的数组大小有 64k 限制。
有人知道修复或解决方法吗?
这是代码:
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。