波动函数和数组参数

如果用户定义的函数的参数是静态参数(其值在模拟期间不发生变化),则这些函数不会由极限速度调用,除非设置了函数的“波动”属性。

在极限速度下遇到用户定义的函数时,Crystal Ball 会首先检查并确认该函数是否为波动函数。如果 Crystal Ball 遭到拒绝,无法访问 VBA 项目,而且用户定义的函数没有传递数组或单元格范围参数,Crystal Ball 便会将该函数视为波动函数。

如果对项目的访问遭到拒绝,但调用传递了数组或单元格范围参数,则会显示以下消息:

无法解释带数组参数的用户定义函数。您必须首先在 Microsoft Excel 的宏安全性设置对话框中选中“信任对 Visual Basic 项目的访问”复选框。有关此错误的详细信息,请参阅用户指南中的附录 C。

原因:尚未设置 Microsoft Excel 波动属性。

使用涉及 Analysis ToolPak 的数组参数或任何其他参数时,您不应遇到此特定错误,因为 ToolPak 直接嵌入在 Microsoft Excel 2007 或更高版本中。

但是,要设置信任对...的访问属性以确保正确设置波动属性,请遵循以下步骤:

  1. 单击 Office 按钮。

  2. 单击以下一系列按钮和链接:Microsoft Excel 选项信任中心信任中心设置宏设置

  3. 宏设置页面,请在开发人员宏设置下选择信任对 VBA 工程对象模型的访问