View Single Post
  #7   Report Post  
Posted to microsoft.public.excel.programming
Charles Williams Charles Williams is offline
external usenet poster
 
Posts: 968
Default Alternative to Application.Caller in array functions to avoid wrong results?

I do not think the problem is with Application.Caller : looks more like a
problem with the dependency tree in the calculation engine.

I can duplicate your problem with Excel 2003 , but in your test case its
caused by the fact that you have not flagged the myInts() function as
volatile even though it has no parameter arguments and hence no external
dependencies. I suspect this is a variation on the already mentioned
behaviour noted at
http://www.decisionmodels.com/calcsecretsj.htm

add Application.Volatile to myInts() and the problem goes away for me.

Charles
___________________________________
The Excel Calculation Site
http://www.decisionmodels.com

"Joe User" <joeu2004 wrote in message
...
"Bernd P" wrote:
I do not get your results (using Excel 2007 right now).


Good to know. I thought it was a defect.

But there still must be an alternative to (or property of)
Application.Caller that allowed the Excel 2003 LINEST array formula to
work correctly in this paragidm (the testit macro). That is, some way
that LINEST could determine the correct shape and size of the array
formula range, even when it is called from an individual cell within the
array formula range.

I am looking for the method that LINEST might have used. Apparently it is
not Application.Caller.Rows and Application.Caller.Columns.