Depending on the size of your range, but in general: a LOT faster!
The arrays in my functions are generally 120 elements (actuarial tables);
difference in the order of 10 times faster.
<dgp@dodgeit.com> wrote in message
news:1105123565.180885.268380@z14g2000cwz.googlegroups.com...
> In the function below I have a For-Next loop that loops though a range
> of cells. Would it be any faster to read the range into an array and
> loop through the array?
>
> Function InvDistanceWtd(x, y, xdata as Range, ydata as Range, zdata as
> Range, power)
> N = Application.Count(xdata)
> For i = 1 To N
> D = Sqr((x - xdata(i, 1)) ^ 2 + (y - ydata(i, 1)) ^ 2)
> SumZoDn = SumZoDn + data(i, 1) / D ^ Power
> SumIDn = SumIDn + 1 / D ^ Power
> Next i
> InvDistanceWtd = SumZoDn / SumIDn
> End Function
>
Bookmarks