Excel VBA UDF加载项函数#Name错误

我有一个UDF,我写了一个加载项。 我把它放在那里(与其他库),以便我可以改变function,只是部署一个更新的加载项,从而消除了需要修改数百个调用子/函数的工作簿,我需要改变它们。 这一切都在Office 2007中完成。

直到最近当用户开始转向Windows 7时,它运行良好。现在,只有在Windows 7上(XP仍然可以),单元格中存在#Name错误。 这在特定条件下发生(下面的schemeD只是一个问题)。 总之,我有两个工作簿,每个调用,我们称之为“FunctionX”,所以我们假设每个单元格A1都有“= FunctionX(parmA,parmB)”:

Scenairo A – 如果我单独打开工作簿(一切正常)

情景B – 我同时打开两个工作簿(一切正常)

schemeC-I在不同的情况下分别打开两个工作簿(一切正常)

场景D – 我打开一个工作簿,然后第二个,在同一个Excel实例(#Name第一个工作簿调用FunctionX的单元格中的错误)

我意识到解决方法是只通过场景AC操作,但是我不断得到用户抱怨D.如果他们进入任何调用FunctionName的#Name侵犯单元格,并回车,#Names走开,但编程强迫重新计算不这样做(我最初的尝试在一个创可贴)。 我唯一的办法是编写一个循环遍历所有打开的工作簿的程序,用我的函数进入一个单元格,强制执行代码驱动的用户正在做的事情,或者我错过了什么? 谢谢…任何/所有的build议表示赞赏。