在Excel中使用串联dynamic引用外部单元格

我有一个工作簿,我正在试图从外部Excel文件拉入数据。

理想情况下,我想在主工作簿中指定一个文件path,该文件path是从中拉取数据的位置,然后使用另一个单元格来确定该文件path内要查找的单元格。

例如:

  • 单元格A1 = C:\ Documents \ book.xlsx (文件path)
  • 单元格A2 = sheet3 (book.xlsx中,我想看看)
  • 单元格A3 = H8 (我想从book.xlsx检索的单元格

有没有办法,我可以把这些一起创build一个参考单元,使用CONCATENATE和INDIRECT在这一刻,但它只是给我一个#REF错误。

例如

=INDIRECT(CONCATENATE("[", A1, "]", A2, "!", A3)) 

(将给出[C:\ Documents \ book.xlsx] sheet3!H8的值)

使用这里的一篇文章来解决这个问题,使用下面的代码:

 Dim XL As Excel.Application Dim WBK As Excel.Workbook Set XL = CreateObject("Excel.Application") Set WBK = XL.Workbooks.Open("C:TempBook1.xls") MsgBox WBK.Sheets("Sheet1").Range("A1").Value WBK.Close Set XL = Nothing