未能将parameter passing给VBA for Excel 2007中的UDF

我有一个复杂的迭代电子表格,我想用UDF来计算热交换器的传热系数。 该函数有5个参数(2个string和3个双打)。 string和1双通过就好了。 剩下的两个似乎根本没有经过。 有问题的观点的手表显示他们等于零。 我尝试重新定义参数作为变体,然后我可以在“value2”字段中find我想要的值。 但是,一旦我尝试访问它(通过varName.Value2)它消失(手表突然列出该字段为“空”)。

传递给有问题参数的函数的单元严重依赖于电子表格的其余部分,并且它们的值几乎在每次迭代中都改变。

有没有人看过这个,并知道一个解决方法?

我使用UDF +6inputvariables(标准types和变体),我注意到(这是我的解释发生了什么)有时Excel计算引擎试图在所有的input值被调用之前触发UDF和可用。 从debugging视图来看,这被看作是使得“错误启动”和停止执行中间过程(线程丢失)的function,因此debugging明智地显示出奇怪的行为。

但是,当写入单元格时,函数仍然会正确计算并返回。