0
我試圖以編程方式打破所有鏈接,然後在工作簿中重新創建它們。如何幹淨地打破Excel中的鏈接VBA 2010
我在Excel 2010中獲得了一些VBA代碼來乾淨地打破Excel鏈接,但是我總是遇到的麻煩是,每次我重新鏈接鏈接時,Excel都會提示我。
下面是我在做什麼:
這裏的BreakLinks過程:
Sub BreakLinks()
vLinks = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)
' Break all links in the active workbook.
For lLink = LBound(vLinks) To UBound(vLinks)
ActiveWorkbook.BreakLink _
Name:=vLinks(lLink), _
Type:=xlLinkTypeExcelLinks
Next lLink
end sub
這裏的主要部分: *請注意,這裏我給你thisFormula最後一行就是Excel提示我有一個文件對話框,這迫使我取消或選擇我正在鏈接回我的主工作簿...
BreakLinks ' call proc to break the links
thisFormula = "='[DataMaster - Data Template.xlsm]MASTER'!$B" + Trim(Str(myRow)) ' reference back to master workbook
Range("A1").Formula = thisFormula ' i.e. "='[DataMaster - Data Template.xlsm]MASTER'!$B32"
Range("B1").Formula = "=D1"
Range("C1").Formula = "=E1/100"
thisFormula = "=BDH('[DataMaster - Data Template.xlsm]MASTER'!$A" + Trim(Str(myRow)) + "," + charCode + "PX_LAST" + charCode + ",FirstDate," + charCode + " " + charCode + "," + charCode + "cols=2;rows=50" + charCode + ")"
Range("D1").Formula = thisFormula
我想知道如何避免這個非常煩人的Excel提示,並乾淨地重新創建我的公式/鏈接。
謝謝,我會嘗試,並讓你儘快知道。 – 2013-03-12 16:10:16
我仍然有兩個問題與上面的breakLinks:1)如果舊的工作簿仍然存在,它將不斷包含鏈接中的舊工作簿位置(除了我新鏈接的工作簿2)如果舊工作簿不存在,我根本不能破壞鏈接(顯然是因爲找不到舊的源代碼) – 2013-03-12 17:09:09
您可能想要檢查工作簿除了公式之外是否還有其他鏈接,它們可以隱藏在命名範圍,條件格式或數據驗證中。我遇到了中斷鏈接的問題,但我始終能夠手動查找和分解它們。 – 2013-03-12 19:05:15