View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Export to CSV to speed up Loop

If that is your actual code then

Dim DataArray(1 to 65, 1 to 65000, 1 to 200) As Single
Dim A as Integer
Dim B as Long
Dim C as Integer

For A = 1 to 65
For B = 1 to 65000
For C = 1 to 200
DataArray(B,C,A) = Rnd()
Next C
Next B
'Export data from array to text file (2d portion of 3darray)
Export logic ??????
Next A

If that works, then there is no reason to export anything - you don't save
anything. If it doesn't work, then you can't do it anyway. (you would have
to reduce the size of your array) Again, you don't save anything by
exporting your data - a zero takes up as much memory as any other number.

If you needed to export, you would do it like this

Dim DataArray(1 to 65000, 1 to 200) As Single
Dim A as Integer
Dim B as Long
Dim C as Integer


For A = 1 to 65
For B = 1 to 65000
For C = 1 to 200
DataArray(B,C) = Rnd()
Next C
Next B
'Export data from array to text file (save array and reuse)
Export logic ??????
Next A

--
Regards,
Tom Ogilvy




"ExcelMonkey " wrote in message
...
I have a loop that fills a 3-D array with random numbers. My loop is
large and I am worried about excel choking or lagging due to the large
amount of data that accumulates in the array. Is it possible to
temporarily export portions of the array to a text or CSV file within
the loop for the purposes of increasing looping speed/memory? I would
do this within the third dimension loop. It would be like exporting a
2D sheet from excel. It would have to append new info to the existing
info already in the text/CSV file.

Then when the final loop is finished, I would import all the data again
from the same text/CSV file.

Dim DataArray() As Variant
Dim A as Integer
Dim B as Long
Dim C as Integer

For A = 1 to 65
For B = 1 to 65000
For C = 1 to 200
DataArray(B,C,A) = Rnd()
Next C
Next B
'Export data from array to text file (2d portion of 3darray)
Export logic ??????
Next A

'Import Data from text/CSV file back to DataArray

Can this be done?


---
Message posted from http://www.ExcelForum.com/