[英]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.