View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Niek Otten Niek Otten is offline
external usenet poster
 
Posts: 3,440
Default Faster For-Next Loop?

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.

wrote in message
oups.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