使用单元格值链接公式

时间:2013-06-03 15:37:26

标签: excel excel-formula

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

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

='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打开文件对话框,我可以在其中选择路径,名称,然后选择工作表。然后它可以工作,但是通过这些文件框是很烦人的。

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

2 个答案:

答案 0 :(得分:1)

您需要使用INDIRECT

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

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

答案 1 :(得分:0)

我只是使用excel for macro:

语法非常简单,可以通过简单的循环进行范围化。

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