簡體   English   中英

更改外部鏈接時VBA運行速度非常慢

[英]VBA runs very slow on changing external link

我有一個excel文件,其中單元格A1包含公式:

=C:\folder1\[1.xls]Sheet1!A1

並且相對於所有單元都高達H100。

現在我希望將A1的公式更改為(類似於其他單元格,最高可達H100)

=C:\folderA\[A.xls]Sheet1!A1

最初我通過查找和替換語句記錄了一個宏

Sub replace()

    Application.EnableEvents = False
    Application.Calculation = xlCalculationManual

    Range("A1:H100").replace What:="folder1\[1.xls]", Replacement:="folderA\[A.xls]", _
       LookAt:= xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
       ReplaceFormat:=False

    Application.EnableEvents = True

End Sub

但這需要10多分鍾,在excel的左下角,它顯示“鏈接:---”(正在加載...)

有沒有替代方法?

試試( 需要不到一秒鍾

Sub ReplaceInaFormula()

Application.ScreenUpdating = False
Application.EnableEvents = False
Application.DisplayAlerts = False

    Dim c As Range

    For Each c In Range("A1:H100")
        c = Replace(c.Formula, "folder1\[1.xls]", "folderA\[A.xls]")
    Next

Application.DisplayAlerts = True
Application.EnableEvents = True
Application.ScreenUpdating = True

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM