【问题标题】:Link formula using cell's value使用单元格的值链接公式
【发布时间】:2013-06-03 15:37:25
【问题描述】:

我有一个非常简单的问题。

我想从另一个工作簿中获取值。一个简单的方法是在单元格中输入这样的公式:

='C:\Path\[Workbook.xlsm]Sheet1'!$D$4

这运作良好。它返回路径目录下 workbook.xlsm 中 sheet1 单元格 D4 中的值。

由于我必须处理多个值并且路径/名称可能会更改,因此我想将路径/名称存储在一个单元格中,并在需要的任何地方重复使用它们。

in OpenWb.xlsm, Sheet_Report, D9: 
    value: C:\Path\
    Name: Path
in OpenWb.xlsm, Sheet_Report, D10: 
    value: Workbook.xlsm
    Name: WbName

要使用我写的这些值:

='Path[WbName]Sheet1'!$D$4

Excel 给出不正确的地址错误添加 [:

='[Path[WbName]Sheet1'!$D$4

当我删除 [,Excel 会打开一个文件对话框,我可以在其中选择路径、名称,然后选择工作表。然后它可以工作,但是通过这些文件对话框很烦人。

如何编写公式以使用单元格的值转到另一个工作簿?

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    您需要使用 INDIRECT

    =INDIRECT("'"&Path&"["&WbName&"]Sheet1'!$D$4")
    

    但这仅在源工作簿打开时才有效(在这种情况下,您不需要路径!)。如果您安装了 MOREFUNC 加载项,它有一个 INDIRECT.EXT 函数,该函数应该适用于已关闭的工作簿(我不使用它,因此无法根据经验发表评论)

    【讨论】:

    • 那么您需要 MOREFUNC 插件或者您需要一些代码来更改公式,或者您可以使用“数据”菜单上的“编辑链接”选项来简单地将源文件更改为您的想。可悲的是没有简单的公式解决方案。
    • 由于我公司的互联网政策非常严格,我无法轻松下载加载项。我很惊讶这样一个简单的任务没有解决方案。
    • 有解决方案(我提到了 3 个),但没有简单的公式(有人认为这是一件好事,但那是另一回事)
    • 如果你不能下载插件,那么有一个别人写的函数here。
    【解决方案2】:

    我只是用excel做宏:

    语法非常简单,可以通过简单的循环概括为范围。

     Arg = "'" & Path & "[" & File & "]" & Sheet & "'!" & "R4C4" 'Range(Ref.Range("A1").Address(, , xlR1C1))C
         'Execute XLM macro
        GetValue = ExecuteExcel4Macro(Arg)
    

    【讨论】:

      猜你喜欢
      • 2015-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-09
      相关资源
      最近更新 更多