Excel:可以使用外部链接提高性能?

我想知道是否有使用外部链接与打开电子表格和复制单元格(使用VBA)的性能增益。

我会想象,Excel必须打开文件相同,但是当我testing使用下面的代码,外部链接出来更快:

Dim t As Double Dim rng As Range For Each rng In shtId.Range("A1:A5") t = Now ThisWorkbook.Names("rngID").RefersToRange = rng ThisWorkbook.UpdateLink "H:\manualData.xlsx", xlExcelLinks Debug.Print "link: " & Format(Now - t, "######.0000000") t = Now Workbooks.Open "H:\manualData.xlsx", readonly:=True ActiveWorkbook.Close False Debug.Print "open: " & Format(Now - t, "######.0000000") Next Results: link: .0000116 open: .0000231 link: .0000116 open: .0000347 link: .0000000 open: .0000347 link: .0000000 open: .0000347 link: .0000000 open: .0000347 

该工作簿具有一系列单元格,并在ID字段上键入查找公式。 这些公式有外部链接。 为了testing它,我更改ID并强制更新。 为了testing文件打开的方法,我只是打开和closures源文件。

我正在寻求加快由于networking带宽过低而导致问题的stream程。 我已经探索了各种select,只是想了解这是否是一个有效的。 我search了这个话题,有些人说外部链接可能会导致性能问题,而另一些人则说。 我希望更好地了解外部链接背后的机制,以便我能够理解实现时期望的内容。

有什么想法吗?

这需要更多的工作,但是从XML文件读取/写入数据(使用MSXML)将解决性能问题。 在某些带宽不足的情况下,这是我被迫采用的路线。

VBA可以检索数据和运行计算的速度比使用多个链接快得多。 视情况而定; 你可以在工作簿打开事件,甚至是特定的更改事件(combobox等)上做到这一点,因为你只使用kB的数据。