2016-11-16 86 views
1

请考虑以下情况。我有一个名为'X'的Excel插件,其模块名为'Y',其中包含一个名为'Z'的函数。通过文件>选项>加载宏在Excel中启用加载项“X”...Excel VBA函数名称解析,加载项vs本地模块

我打开一个启用宏的Excel工作簿,其中包含名为'A'的包含名为'Z ”。 (我会称之为函数'Z'的'本地'版本。)

问题1)如果我从工作表单元格'= Z()'调用函数'Z',函数'Z'默认调用?加载项“Z”或本地“Z”? (如果有人可以指向我在Excel VBA中描述名称范围和名称解析的文档,那很赞赏。)

问题2)在工作表单元格中有任何我可以使用的语法明确地调用一个或另一个函数'Z'(即“本地”Z或加载项“Z”)?

问题3)在启用宏的工作簿中,当工作表单元格调用函数'= Z()'时,Excel默认调用'Z'的插件版本。如果我“Z”(Excel RIBBON栏>数据选项卡>连接库>编辑链接按钮)的插件版本“断开链接”,Excel将打破所有调用'= Z()'=> '#名称?'。有没有办法让Excel中断到加载项“Z”的链接,而是调用本地“Z”而不打破所有调用“= Z()”的工作表单元格?

回答

1

回答2)鉴于启用宏的工作表的文件名是'k.xlsm',函数名称解析可以在工作表单元格内强制执行,方法是将函数调用'= Z()'加上文件名(或全部启用宏的工作簿的路径:

='k.xlsm'!Z()