我知道您不能使用Indirect引用已关闭的工作簿,但您可以使用索引函数从已关闭的工作簿中返回值,例如:
= INDEX([Test.xlsx] Sheet 1中C:!C,14,1)
返回单元格C14中的值
当工作簿打开时,间接功能也可以正常工作; = INDIRECT("'"&安培; $ F6&安培;"'!C14&#34)
对于我的生活,我似乎无法将两者结合起来得到我想要的结果,即闭合工作簿的价值。
我错过了什么或者这不可能吗?
由于
答案 0 :(得分:1)
使用公式从已关闭的工作簿中获取值不可能。
作为一种解决方法,您可以创建VBA代码,该代码打开工作簿,获取值并关闭它。这是一些示例代码,用于打开文件testing.xlsx
并将Worksheets(1).Range("A1")
的值写入ThisWorkbook
:
Public Sub TestMe()
Dim wb As Workbook
Set wb = Workbooks.Open("C:\path\testing.xlsx")
ThisWorkbook.Worksheets(1).Range("A3") = GetSheet1A1(wb)
wb.Close False
End Sub
Public Function GetSheet1A1(wb As Workbook) As Variant
GetSheet1A1 = wb.Worksheets(1).Range("A1").Value2
End Function