如何避免在 3 个工作簿之间打开 vlookup 引用的工作簿

如何避免在 3 个工作簿之间打开 vlookup 引用的工作簿

情况:
我有三个 Excel 工作簿,其中Workbook1Workbook2包含我的数据。 中Workbook3有一个 引用和VLOOKUP中的数据。 所有这些都运行正常。Workbook1Workbook2

问题:
当我保存并关闭所有工作簿并重新打开时Workbook3,包含的单元格VLOOKUP将只显示,#NV直到我打开Workbook1为止Workbook2

问题:
每次打开引用表时,是否可以避免打开包含数据的工作表?如果可以,我该如何实现?

解决方案:
引用的工作表使用了旧.xls格式。似乎需要打开旧工作簿。保存后,.xlsx问题不再存在。

答案1

访问引用工作簿中的数据VLOOKUP 需要也打开该工作簿。因此,无法避免也打开所有引用的工作表不是如果工作簿以该格式保存,则需要打开它们.xlsx。但是,如果工作簿使用旧.xls格式,则需要打开它们。

另外,也可以使用 将数据从已关闭的工作簿导入到另一个工作簿中VBAVLOOKUP然后就可以对导入的数据进行操作。

另一种方法VBA是在启动时自动打开所有引用的工作表,更新所有引用并使用以下代码再次关闭所述工作簿。

Private Sub Workbook_Open()
Dim Links
Dim i%
Links = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(Links) Then
    For i = 1 To UBound(Links)
      Workbooks.Open Links(i), 0
    Next i
Else
End If
ActiveWorkbook.RefreshAll
For Each w In Workbooks
If w.Name <> ThisWorkbook.Name Then
    w.Close savechanges:=False
End If
Next w
End Sub

答案2

转到Data > Connections > Edit Links > Update Values。这将为您提供工作簿中的当前值,而无需打开它。您还可以将链接设置为自动更新,但如果存在大量链接,这会减慢打开速度。此方法仅在链接的文件为 .xlsx 而不是 .xls 时才有效。

相关内容