B
Bill Martin
I'm using a large array to pass data to/from a DLL that I call from VBA and all
works well. I'm just wondering if there's a faster way to fill the array.
Basically I'm doing something of the form:
redim Y(1000,10) as single
'Now fill the array from the spreadsheet
for I = 1 to 1000
for J = 1 to 10
Y(I,J) = cells(I,J)
next J
next I
Call DLL_Routine(Y())
'And now put the data back into the spreadsheet.
Range("A1:J1000").value = Y()
Using the For/Next loop to fill the array takes a fair amount of time in my
actual code. Putting the array back into the sheet however is virtually
instantaneous.
So, is there some faster approach I can use than the For/Next loop? I won't
bother to list out all the things I've tried that I now know *don't'* work.
I'm using Excel 2003, FWIW...
Thanks.
Bill
works well. I'm just wondering if there's a faster way to fill the array.
Basically I'm doing something of the form:
redim Y(1000,10) as single
'Now fill the array from the spreadsheet
for I = 1 to 1000
for J = 1 to 10
Y(I,J) = cells(I,J)
next J
next I
Call DLL_Routine(Y())
'And now put the data back into the spreadsheet.
Range("A1:J1000").value = Y()
Using the For/Next loop to fill the array takes a fair amount of time in my
actual code. Putting the array back into the sheet however is virtually
instantaneous.
So, is there some faster approach I can use than the For/Next loop? I won't
bother to list out all the things I've tried that I now know *don't'* work.
I'm using Excel 2003, FWIW...
Thanks.
Bill