View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
RB Smissaert RB Smissaert is offline
external usenet poster
 
Posts: 2,452
Default FOR-TO_NEXT is *very* slow

You can write the array directly to a range, without a loop:

Sub test()

Dim r As Long
Dim c As Long
Dim arr(1 To 10, 1 To 5)

For r = 1 To 10
For c = 1 To 5
arr(r, c) = r & "@" & c
Next c
Next r

Cells.Clear

'to show that the range can be smaller than the array
Range(Cells(1), Cells(8, 4)) = arr

End Sub


RBS



"Peter Hesselager" wrote in
message ...
Hi
I have a Loop, that collects certain data-rows, and put them in an array.
This part works Ok and fast.

The next loop insert the data from the Array into another Sheet.
This is my problem.
In the old Excel 2003 it took maybe half a minute to write +600 rows
In Excell 2007 it takes +10 minutes.

Screenupdating is disabled.
There are several of this type Read and Write's, and the Macros now runs
well over half an hour, where it took 1-2 minutes before

This is how the "Insert" loop looks.
---------------------------
' Indsert lines in STRIP
Sheets("Strip").Select
Range("A1").Select
For Linje = 0 To NyLinjeMax
For Kolonne = 0 To 27
ActiveCell.Offset(Linje, Kolonne) = XAL_Data(Linje, Kolonne)
XAL_Data(Linje, Kolonne) = ""
Next
Next
-------------------------------
How can I speed up this Macro ?

--
Med venlig hilsen
Peter Hesselager-Olesen
SBS-IT Aps