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



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

我想Excel必须以相同的方式打开文件,但是当我使用以下代码进行测试时,外部链接出现得更快:

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字段为关键字。这些公式有外部链接。为了测试它,我更改了ID并强制更新。为了测试文件打开方法,我只打开和关闭源文件。

我希望加快由于网络带宽低而出现问题的过程。我已经探索了各种选择,只是想了解这是一个有效的。我搜索了这个话题,有些人说外部链接可能会导致性能问题,而有些人则不然。我想更好地了解外部链接背后的机制,这样我就能理解实现后会发生什么。

任何想法吗?

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

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

相关内容

  • 没有找到相关文章

最新更新