MacXL: Custom Function May Not Calculate Expected Value (223314)
The information in this article applies to:
- Microsoft Excel 2001 for Mac
- Microsoft Excel 98 Macintosh Edition
This article was previously published under Q223314 SYMPTOMS
When you calculate your worksheet, some cells may appear to have calculated the wrong value.
CAUSE
This problem occurs when the following conditions are true:
- A cell on the worksheet contains a custom function.
-and-
- The custom function contains one or more arguments that refer to a range of cells on the worksheet.
-and-
- The result of the custom function depends on more cells than it directly references.
This behavior is by design of Microsoft Excel. When Excel calculates the cell that contains the custom function, it recalculates all cell ranges that are passed as arguments to your custom function. If the result of your function depends on cells that are not explicitly referred to by the function, then the function may not be recalculated when those cells are recalculated.
WORKAROUND
Use one of the following methods to work around the problem.
Method 1: Modify Your Function So That All Relevant Cell Ranges Are Passed
Modify your function to accept as arguments all of the cells necessary to calculate the result of the function.
Method 2: Make Your Custom Function VolatileMicrosoft provides programming examples for illustration only, without warranty either
expressed or implied, including, but not limited to, the implied warranties of
merchantability and/or fitness for a particular purpose. This article assumes
that you are familiar with the programming language being demonstrated and the
tools used to create and debug procedures. Microsoft support professionals can
help explain the functionality of a particular procedure, but they will not
modify these examples to provide added functionality or construct procedures to
meet your specific needs. If you have limited programming experience, you may
want to contact a Microsoft Certified Partner or the Microsoft fee-based
consulting line at (800) 936-5200. For more information about Microsoft Certified
Partners, please visit the following Microsoft Web site:
For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:
If you make your custom function volatile, this problem will not occur. To
make your custom function volatile, add the following line of code to the
function:
Application.Volatile
NOTE: If you make your custom function volatile, it will recalculate every time you make a change to a value or recalculate an open workbook. This could impact the performance of your worksheet model.
Method 3: Force Excel to Recalculate All Open Workbooks
Press COMMAND+SHIFT+F9 to recalculate the values in all open workbooks.
Modification Type: | Major | Last Reviewed: | 6/23/2005 |
---|
Keywords: | kbdtacode kbprb KB223314 |
---|
|