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
エクセルから:
=funB(funA(2^16-1)) '65536 as expected
=funB(funA(2^16)) 'Gives a #VALUE
内部を見ると、funA() は正常に動作しますが、funB に渡される引数 x はエラー 2015 です。