目前我有两个版本的excel插件 - 已发布的版本和当前的WIP版本。
当我将两者加载到Excel并尝试运行已发布的代码时,它会调用我的WIP代码,这对于测试来说是垃圾。当我在VBE中打开代码时,我仍然可以按预期运行子程序。
我查找了有关调用其他项目代码的项目的信息,但我发现的只是如何执行此操作,而不是为什么会发生/如何阻止它。这可能是由于两个项目都具有完全相同的子程序和函数名称,但当前项目的那些应该优先考虑?
目前这只是一个烦恼,但在测试时会导致混乱。有人有什么想法吗?
答案 0 :(得分:0)
在VB对象浏览器中,转到引用并取消选中对不需要的代码的引用。
答案 1 :(得分:0)
Excel会记住代码所指向的位置,因此即使取消选中引用它也会继续工作 - 您还会注意到,如果重命名该加载项,函数将返回#NAME!
而不是使用当前版本。
强制Excel重新评估代码获取位置的一种快捷方法是执行搜索和替换,并将=
更改为=
。这导致相同的公式,但强制excel更新其链接,以便找到当前可访问的版本
(从PRB: Automation Add-In Function Binds to Excel Built-In Function with the Same Name推断)
答案 2 :(得分:0)
我设法通过为每个子例程指定模块名称来停止此行为。 显然这是一个知道的.OnAction错误,因为它从最近加载的任何工作簿(我假设模块)调用。谢谢,在帮助下,我似乎没有意识到错误的位置!