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

问题描述 投票:3回答:5

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

excel vba excel-vba
5个回答
3
投票

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

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


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

1
投票

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


0
投票

可以在其中一个?:

  • 超级链接(公式和正常)
  • NAME MANAGER
  • 验证
  • 条件格式
  • 带MACRO的按钮(仍然指向原始宏)
© www.soinside.com 2019 - 2024. All rights reserved.