【问题标题】:Failure to Pass Arguments to a UDF in VBA for Excel 2007未能将参数传递给 VBA for Excel 2007 中的 UDF
【发布时间】:2010-09-23 07:17:27
【问题描述】:

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

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

有没有人以前见过这个并知道解决方法?

【问题讨论】:

    标签: vba excel user-defined-functions


    【解决方案1】:

    我使用带有 +6 输入变量(标准类型和变体)的 UDF,并且我注意到(这是我对所发生情况的解释)有时 excel calc 引擎会尝试在所有输入值之前触发 UDF变得计算和可用。从调试视图来看,这被视为“错误启动”并停止执行中间过程(线程丢失)的函数,因此在调试方面它显示出奇怪的行为。

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

    【讨论】:

    • 这真的很有趣。可以发一个例子吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    相关资源
    最近更新 更多