I use arrays to populate ranges not so much because my program looks neater but because it requires a tiny fraction of the time. If we pretend it takes 15 seconds to fill in 5000 rows and 10 columns, it happens almost as fast as I can think about it if I fill up an array first and then put the array into a range.
<hijack>But there's something I've been thinking about for a while. My statement for populating from the array looks like this:
Code:
Range(ows.Cells(2, 1), ows.Cells(rz, 10)).Value = arr
But after looking at this I wonder whether it's possible to do it with other properties as well, for example:
Code:
Range(ows.Cells(2, 1), ows.Cells(rz, 10)).FormulaR1C1 = arr
This might allow me to do complex things with other than values. I've never tried it, but I give it about 60% that it'll work just fine.</hijack>