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