将XLL插件功能转换为本机VB模块:问题刷新公式

时间:2009-04-02 11:24:42

标签: excel vb6 xll

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

问题是纸张不会自动识别新功能。例如,假设一个单元格的公式是“= CustomFunction()”,它早先在xll中定义,现在已在VB中定义。除非我手动编辑单元格,否则这将继续显示为“#NAME”,然后按Enter键。然后它正确地获取VB公式并计算。

重新计算公式的标准技巧:Ctrl / Alt / Shift / F9无效。

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

1 个答案:

答案 0 :(得分:0)

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

我很确定我已经解决了类似的问题并且正在为我修复它。我想如果你有很多工作簿要修复,你可能需要通过自动化来完成。