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

时间:2011-12-12 18:22:38

标签: excel vba add-in user-defined-functions

我有一个我写的UDF并放入一个加载项。我把它(带有其他库)放在那里,这样我就可以更改函数并只部署一个更新的加载项,从而无需修改数百个调用subs / functions的工作簿,我需要更改它们。这一切都在Office 2007中完成。

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

Scenairo A - 如果我单独打开任何一本工作簿(一切顺利)

场景B-I同时打开两个工作簿(一切都很好)

场景C-I在不同的实例中一个接一个地打开两个工作簿(一切都很好)

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

我意识到解决方法只能通过Scenarios AC进行操作,但是我不断让用户抱怨D.如果他们在#Name违规单元格中调用FunctionX并按Enter键,#Name就会消失,但程序化的强制重新计算并没有这样做(我最初尝试使用创可贴)。我唯一的办法是编写一个循环遍历所有打开的工作簿的过程,进入一个单元格,我的函数强制执行代码驱动的用户正在做什么,或者我错过了什么? 谢谢......任何/所有建议都表示赞赏。

0 个答案:

没有答案