【问题标题】:Custom Excel-Function throws error when workbook is refreshed刷新工作簿时自定义 Excel 函数引发错误
【发布时间】:2015-10-29 11:01:28
【问题描述】:

我有一个自定义 Excel 函数

Public Function getDate(interval, no)

    getDate = Format(DateAdd(interval, no, Date), "dd.mm.yyyy")

End Function

当我在单元格中输入此函数时,它会按预期工作。 但是,当我打开一个已经使用该函数的文件时,它会产生一个#Value! 错误。

单元格输入示例:=">" &getDate("ww";-1) 通常结果为: >30.07.2015

我也使用 Bloomberg Excel-Addin 并在单元格中使用 Bloomberg 函数。但是这些工作没有任何问题。

有人知道如何解决吗? 最好的问候

【问题讨论】:

    标签: excel excel-formula vba


    【解决方案1】:

    这是部分答案或完整答案。您的函数包含 Date - 这表明您希望函数为 Volatile 但 UDF 默认情况下是非易失性的。如果你把

    Application.Volatile

    作为getDate 的第一行,它将随着日期的变化而自动更新。

    也许问题在于,当您稍后打开文件时,Excel 会以某种方式检测到对日期的依赖,但无法重新计算它。我无法重现您的错误,而且我没有此 Bloomberg 插件,所以我不知道这是否是 错误,但它看起来确实像 a 错误.

    另一个想法 - 要使用加载项,您不需要保存为启用宏的工作簿,但要使用您需要的 UDF。我认为这不是问题,但您应该仔细检查它是否保存为启用宏的工作簿,并且使用启用它的安全设置打开。

    如果这些建议不能解决问题,请查看在未安装该插件的情况下是否仍然出现错误。

    【讨论】:

    • 您好,感谢您的回答,我可以联系彭博社,他们告诉我,他们的插件中有一个 getDate 函数,该函数在 Excel 中的任何地方都没有显示。因此,多个宏名称是错误的原因。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2011-05-12
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    • 2017-01-17
    相关资源
    最近更新 更多