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
>