1

我有一个 .xll 插件,它注册了我们在许多地方的 excel 表中使用的一些函数。性能很差,而且我们没有原始代码,所以我们通过在模块中编写VB中的函数来复制功能。这些功能按预期工作,性能要好得多。

问题是工作表不能自动识别新功能。例如,假设一个单元格的公式是“=CustomFunction()”,它之前在 xll 中定义,现在已经在 VB 中定义。这将继续显示为“#NAME”,除非我手动编辑单元格,然后按 Enter。然后它会正确地选择 VB 公式并进行计算。

重新计算公式的标准技巧:Ctrl/Alt/Shift/F9 不起作用。

有没有人经历过这种情况?知道如何解决这个问题吗?

4

1 回答 1

0

我会进行全局搜索并将 =CustomFunction 替换为 =TempCustomeFunction。然后将全局重命名回 =CustomFunction。这将强制 Excel 重新评估函数。(我有一个模糊的想法,您可能需要在他第一次替换后保存、关闭和重新启动,但请先尝试确定)。

我很确定我遇到了类似的问题,并为我解决了这个问题。我想如果你有很多工作簿要修复,你可能需要通过自动化来完成。

于 2009-04-02T12:27:04.100 回答