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

自定义Excel函数在刷新工作簿时引发错误,excel,excel-formula,vba,Excel,Excel Formula,Vba,我有一个自定义的Excel函数 Public Function getDate(interval, no) getDate = Format(DateAdd(interval, no, Date), "dd.mm.yyyy") End Function 当我在单元格中输入此函数时,它会按预期工作。 但是,当我打开一个已经使用了函数的文件时,它会生成一个#值错误 单元格的示例输入:=“>”&getDate(“ww”;-1)通常结果是: >2015年7月30日 我也使用彭博Excel插

我有一个自定义的Excel函数

Public Function getDate(interval, no)

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

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

单元格的示例输入:
=“>”&getDate(“ww”;-1)
通常结果是:
>2015年7月30日

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

有人知道如何修复它吗?
致以最诚挚的问候

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

Application.Volatile

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

问题可能在于,当您稍后打开一个文件时,Excel不知何故检测到该日期的依赖关系,但无法重新计算。我不能复制你的错误,我没有这个彭博Addin,所以我不知道这是否是错误,但它看起来确实像一个错误

另一个想法——使用外接程序不需要另存为启用宏的工作簿,但要使用UDF则需要。我认为这不是问题所在,但您应该仔细检查它是否保存为启用宏的工作簿,以及是否使用启用宏的安全设置打开该工作簿


如果这些建议无法解决问题,请查看在未安装外接程序的情况下是否仍会出现错误

您好,谢谢您的回答。我联系了彭博社,他们告诉我,他们的插件中有一个
getDate
函数,excel中没有显示该函数。因此,多宏名称是错误的原因。