View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Jim Thomlinson Jim Thomlinson is offline
external usenet poster
 
Posts: 5,939
Default Strange looping in User-Defined function (Excel XP)

Indirect is a volatile function. That means that it is always dirty and will
be recalculated every time that a calculation is run (similar to the Now()
function which re-evaluates with each calculation.). So as a guess this is
your culpret. When this formula calculates it causes the indirect functions
to recalculate, which changes the input range of the function and causes the
UDF to be evaluated once again...
--
HTH...

Jim Thomlinson


"G.R. Toro" wrote:

No,

The function does not change anything in these data ranges. On the other
hand, the ranges contain indirect()'s to data on another sheet. It may be
that Excel erroneously thinks that these ranges have changed.

Thanks for the suggestion.

Gabriel


"Jim Thomlinson" wrote in message
...
Just a guess here but does the value returned by this function change
anything in the 2 ranges that the function receives as arguments? If so
then
calling the function will cause a loop that will continue until the values
"Settle Down". Basically you get a recursive loop.
--
HTH...

Jim Thomlinson


"G.R. Toro" wrote:

Update:

The function now runs and gives the anticipated results. I had to change
the logic in lower-level function PoissonRand so it would handle the case
where its argument is 0.

Still, I am not sure why the function executes 3 times (it still does)
even
when it appears only once in the calling excel file.

Gabriel