1

我正在尝试在 Excel 2010 中创建动态链接。下面我创建了一个函数,该函数为我提供了父文件夹工作簿以供参考。当我尝试将 ' 添加到 LEFT 关键字时,excel 不接受它。我要做的是在父文件夹中参考工作簿,并希望确保在移动父文件夹时所有文件都保持链接。

我的问题是如何从下面的 LEFT 函数创建一个链接。谢谢

=LEFT(CELL("filename"),LARGE((MID(CELL("filename"),ROW(1:255),1)="\")*IFERROR(SEARCH("\",CELL("filename"),ROW(1:255)),0),2)) & CONCATENATE("[Book1.xlsx]Sheet1'!$A$1")
4

2 回答 2

1

This should work, assuming your left formula is correct (not tested):

=INDIRECT("'["& LEFT(CELL("filename"),LARGE((MID(CELL("filename"),ROW(1:255),1)="\")*IFERROR(SEARCH(" \",CELL("filename"),ROW(1:255)),0),2))&"Book1.xlsx]Sheet1'!$A$1")
于 2012-05-02T23:25:05.553 回答
0

要创建指向文件的链接,您需要输入完整路径并直接引用到公式中(INDIRECT 不起作用)。在活动单元格中放置指向父文件夹的链接的一种方法是使用此 VBA 命令:

activecell = "='" & activeworkbook.path & "\..\[Book1.xlsx]Sheet1'!$A$1"

路径是相对于工作簿存储的,如对上一个链接问题的响应中所述。也可以使用 udf 从已关闭的工作簿中检索值,例如:

Function Eval(Text As String)
Set xl = CreateObject("excel.application")
eval = xl.ExecuteExcel4Macro(Application.ConvertFormula(Text, xlA1, xlR1C1, True))
Set xl = Nothing
End Function

或者通过下载 Laurent Longre 的 Morefunc.xll 免费加载项,该加载项具有 INDIRECT.EXT 功能(但请注意,这些方法效率较低,并且不会创建链接,因此在移动文件夹时不会更新)。

于 2012-05-03T12:34:10.343 回答