Home |
Search |
Today's Posts |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Well, it should be a time-to-execute thing, not a number-of-lines thing. The
line count is pretty close. Looping through ranges can be very slow, of course, but if you read the ranges into arrays, and write the results as an array, it will avoid the slow cell-by-cell looping. It might even be faster than Dave's interesting technique, because his has at least one extra worksheet operation. Sub AddRanges() Dim v1 As Variant Dim v2 As Variant Dim v3(1 to 5, 1 to 1) As Variant Dim i As Integer ' get worksheet data into VB arrays v1 = Range("a1:a5").Value v2 = Range("b1:b5").Value ' loop VB arrays to do the addition For i = 1 to 5 v3(i, 1) = v1(i, 1) + v2(i, 1) Next ' write VB array back to sheet Range("c1:c5").Value = v3 End Sub Slightly shorter, one less trip to the worksheet, but reading is faster than writing: Sub AddRanges2() Dim vIn As Variant Dim vOut(1 to 5, 1 to 1) As Variant Dim i As Integer ' get worksheet data into VB arrays vIn = Range("a1:b5").Value ' loop VB arrays to do the addition For i = 1 to 5 vOut(i, 1) = vIn(i, 1) + vIn(i, 2) Next ' write VB array back to sheet Range("c1:c5").Value = vOut End Sub - Jon ------- Jon Peltier, Microsoft Excel MVP Tutorials and Custom Solutions http://PeltierTech.com _______ "mdalamers via OfficeKB.com" <u32130@uwe wrote in message news:6e952ee1953d3@uwe... Thanks Guys. This helped. By the way Jon. Nothing is wrong with looping but I prefer using a few lines rather than many lines. Have a great weekend! Michiel -- Message posted via http://www.officekb.com |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Loops | Excel Programming | |||
Loops | Excel Programming | |||
Loops etc. | Excel Programming | |||
help with loops | Excel Programming | |||
LOOPS | Excel Programming |