在Excel中使用连接动态引用外部单元格

在Excel中使用连接动态引用外部单元格,excel,concatenation,external,Excel,Concatenation,External,我有一个工作簿,试图从外部excel文档中提取数据 理想情况下,我希望在主工作簿中指定一个文件路径,该路径是从中提取数据的位置,然后使用另一个单元格确定要在该文件路径中查找的单元格 例如: 单元格A1=C:\Documents\book.xlsx(文件路径) 单元格A2=sheet3(我要查看的book.xlsx中的表) 单元格A3=H8(我想从book.xlsx中检索的单元格) 是否有一种方法可以将这些元素组合在一起,创建对该单元格的引用,目前使用CONCATENATE和INDIRECT,

我有一个工作簿,试图从外部excel文档中提取数据

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

例如:

  • 单元格A1=C:\Documents\book.xlsx(文件路径)
  • 单元格A2=sheet3(我要查看的book.xlsx中的表)
  • 单元格A3=H8(我想从book.xlsx中检索的单元格)
是否有一种方法可以将这些元素组合在一起,创建对该单元格的引用,目前使用CONCATENATE和INDIRECT,但这只会给我一个#REF错误

例如

(给出的值为[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
使用来自的文章修复此问题,使用以下代码:

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

使用间接()时,需要打开工作簿才能更新值。工作簿已打开,但仍无法通过引用。使用间接()时,需要打开工作簿才能更新值。工作簿已打开,但仍无法通过引用。