Wydaje się, że Excel-VBA 2007 ma ograniczenie 64k do wielkości tablic przekazywanych jako argumenty.Ograniczenia rozmiaru tablicy przekazujące argumenty tablicowe w VBA
Czy ktoś wie o poprawce lub obejściu?
Oto kod:
Public Function funA(n)
Dim ar()
ReDim ar(n)
funA = ar
End Function
Public Function funB(x)
funB = UBound(x)
End Function
Od Excel:
=funB(funA(2^16-1)) '65536 as expected
=funB(funA(2^16)) 'Gives a #VALUE
Patrząc wewnątrz, Funa() działa bez zarzutu, ale przeszedł do funB argument x jest błąd 2015.
Jakieś tło tutaj [Maksymalny rozmiar tablicy w funkcji arkusza kalkulacyjnego programu Excel 2007?] (http://windowssecrets.com/forums/showthread.php/128704-Max-Array-size-in-Excel-2007-Worksheet-Function). Co właściwie należy zrobić z UDF? To poprowadzi nasze sugestie. – brettdj
Odwołanie wygląda jak wariant problemu. To, co muszę zrobić z udf, to prawie to, co widzisz, oprócz tego, że tablica będzie wypełniona liczbami (przykładowa dystrybucja), a funB robi z nią zabawne i ekscytujące rzeczy. –