将链接两个表单的文本string转换为工作公式

我试图将文本string转换为公式,但是我的文本string有点不寻常,因为它描述了两个工作表之间的链接。 这是起始公式:

+TEXT("+'X:\Deals\ONE-PAGERS\_One-pagers (vM)\["&TRIM(LEFT(SUBSTITUTE($B9," ",REPT(" ",30)),64))&" vM.xlsx]Metrics'!$D$8",1) 

我创build了这个公式,以避免手动链接大量的电子表格。 它捕获单元格的前两个单词,并将其放置到可build立链接的文本string中(如果是公式)。 这样,我可以简单地将公司名称input到单元格B9中,并且此公式将生成一个描述我想要的链接的文本string。 这里是公式输出:

 +'X:\Deals\ONE-PAGERS\_One-pagers (vM)\[xxx vM.xlsx]Metrics'!$D$8 

正如你所看到的,如果这是一个公式,它会生成一个链接,它将返回xxx工作表的Cell D8中的值。 我已经尝试了评估解决方法(见下面)以及间接function,似乎都没有工作。 让我知道如果这没有任何意义,并提前感谢您的帮助!

 Function EvalCell(RefCell As String) Application.Volatile EvalCell = Evaluate(RefCell) End Function 

评估和INDIRECT都将需要源工作簿打开,但您可以使用ExecuteExcel4Macro:

 Function EvalCell(RefCell As String) Application.Volatile True application.ExecuteExcel4Macro(application.convertformula(mid$(RefCell, 2), xlA1, xlr1c1)) End Function 

虽然我会避免使用太多的这些function!