当工作簿刷新时,自定义Excel函数会引发错误

我有一个自定义的Excel函数

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

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

一个单元格的input示例: =">" &getDate("ww";-1)通常结果如下: >30.07.2015

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

有没有人有一个想法如何解决它? 最好的祝福

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

Application.Volatile

作为getDate的第一行,随着date的变化它会自动更新。

也许问题是,当你在以后打开一个文件时,Excel以某种方式检测到对date的依赖,但无法重新计算它。 我不能重现你的bug,也没有这个Bloomberg Addin,所以我不知道这是不是 bug,但看起来像是一个 bug。

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

如果这些build议不能解决它 – 看看你是否仍然得到没有安装该加载项的错误。