【发布时间】:2018-02-20 19:12:02
【问题描述】:
我在I2中有一个公式:
= "=" & "'" & $H2 & $I2 & E2 & "'!" & "$C$2"
它结合了目录、文件名、工作表名称和单元格位置。
现在我想在J2 中评估该公式的结果。是否可以在没有 VBA 或仅使用一点 VBA 的情况下这样做?我需要能够填写I2 到I1000,我个人更喜欢非VBA 方法。
例如,假设I2 的结果为:
='R:\20180220\[Test.xlsb]'!$C$2
有没有办法在J2 中实际显示该单元格的值?请注意,workbook Test.xlsb 已关闭,不会打开(因为我有数千个工作簿,无法全部打开)。
我在 VBA 中尝试了 EVALUATE(Range.Formula) 和 ExecuteExcel4Macro(),并尝试用 UDF 包装它们,但都失败了。
【问题讨论】:
-
尝试 INDIRECT() 但这需要打开工作簿。
-
嗨@ScottCraner 感谢您的回复!是的,我也试过了,但是文件必须关闭,可惜......不过我愿意使用 UDF。
-
如果您尝试过 UDF,那么发布您尝试过的内容并描述运行它时发生的情况可能会很有用。
-
@TimWilliams 好主意,我会在会后更新帖子,谢谢!
-
[J2].Formula = [I2].Value,或将"$C$2"更改为"$C2"和[J2:J1000].Formula = [i2].Value。使用 Power Query 或 Microsoft Query 查询已关闭的工作簿可能会更好
标签: excel excel-formula excel-indirect