【发布时间】:2019-09-23 04:41:39
【问题描述】:
我正在尝试编写一个 UDF,它将包含路径、工作簿名称、工作表名称和单元格引用的字符串转换为公式,以便我可以轻松地从其他工作簿返回值。例如,我的字符串如下所示:
='C:\FolderAlfa\SubfolderBeta\[Book1.xlsx]Sheet2'!$D$4
我尝试了Application.Evaluate(string) 和ExecuteExcel4Macro(string) 方法,但它们都不起作用。
我将不胜感激!
【问题讨论】:
-
你的意思是
Range("A1").Formula = "='C:\FolderAlfa\SubfolderBeta\[Book1.xlsx]Sheet2'!$D$4"? -
不确定为什么要使用 UDF ...您总是可以在公式中使用邪恶的 INDIRECT 函数。请注意,当外部工作簿关闭时,这些方法都不起作用
-
是的,但我希望这是一个 UDF,所以我不确定如何使用 Range 对象,因为它需要引用(如“A1”)
-
是的,这就是问题所在。 Evaluate 方法在其他工作簿打开时完美运行,但我正在寻找在其他工作簿关闭时可以工作的解决方案。
-
@Storax:但 UDF 不能将公式插入范围。