我有一本Excel书,打开时会发出警告:
This workbook contains links to other data sources.
我想删除所有这些链接,以便不会触发警告。认为任何外部链接都是'[workbook path]'!address
形式我使用了这段代码:
Sub ListLinks()
Dim wb As Workbook
Dim link As Variant
Set wb = ThisWorkbook
For Each link In wb.LinkSources(xlExcelLinks)
Debug.Print link
Next link
End Sub
这返回了一个文件路径:
\\somePath\xyz\aWorkbook.xlsm
我使用Ctrl + F在工作簿中搜索了此字符串的所有公式,但未返回任何结果。如何查找和删除此链接?
您的工作簿可以通过指向另一个工作簿的命名范围进行链接。搜索链接工作簿的公式可能找不到任何内容,因为链接隐藏在名称中。
检查命名范围以获取指向其他工作簿的链接。
打破链接不足以抑制警告。在“编辑链接”窗口中,单击“启动提示”并将单选按钮设置为“不显示警报但不更新自动链接”。这成功地防止了警告出现。
以下循环应该有效。
Dim intCounter As Integer
Dim varLink As Variant
'Define variable as an Excel link type.
varLink = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)
'Are there any links?
If IsArray(varLink) = False Then
Exit Sub
End If
'Break the links in the active workbook.
For intCounter = 1 To UBound(varLink)
ActiveWorkbook.BreakLink _
Name:=varLink(intCounter), _
Type:=xlLinkTypeExcelLinks
Next intCounter
我删除了上面描述的所有链接后遇到了这个问题,然后我发现我的一些验证数据正在引用其他工作簿。纠正此问题后,问题就消失了。
可以在其中一个?: