View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
K Dales K Dales is offline
external usenet poster
 
Posts: 131
Default Export to CSV to speed up Loop


-----Original 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/

.


I don't think you would find your idea to be any more
efficient than just saving your array in Excel. You are
talking lots of disk access! My suggestion: Set up an ADO
recordset (disconnected; i.e. no DB server) that could be
used to store your array values. This should be fairly
fast and efficient assuming you have sufficient memory
(RAM and virtual) on your machine.