如何在Excel工作簿中查找链接的位置?

时间:2015-01-08 21:49:32

标签: excel vba excel-vba

我有一本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在工作簿中搜索了此字符串的所有公式,但未返回任何结果。如何查找和删除此链接?

5 个答案:

答案 0 :(得分:3)

您的工作簿可以通过指向另一个工作簿的命名范围进行链接。搜索链接工作簿的公式可能什么也没找到,因为链接隐藏在名称中。

检查您的命名范围以获取指向其他工作簿的链接。

答案 1 :(得分:2)

断开链接不足以抑制警告。在修改链接窗口中,我点击了启动提示并将单选按钮设置为"不显示提醒并且不自动更新链接&#34 ;.这成功地阻止了警告的出现。

答案 2 :(得分:1)

以下循环应该有效。

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

答案 3 :(得分:1)

如上所述删除所有链接后我遇到了这个问题,然后我发现我的一些验证数据正在引用其他工作簿。纠正之后问题就消失了。

答案 4 :(得分:0)

可能是其中之一吗?:

  • 超链接(公式和常规)
  • NAME MANAGER
  • 验证
  • 条件格式
  • 带有宏的按钮(仍指向原始宏)