如何在 Excel 工作簿中找到 link 的位置?

How to find location of link in Excel workbook?

我有一本 Excel 书,打开时会发出警告:

This workbook contains links to other data sources.

我想删除所有这些 link,这样就不会触发警告。认为任何外部 link 的形式都是 '[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 在工作簿中的所有公式中搜索了该字符串,但未返回任何结果。如何找到并删除此 link?

下面的循环应该可以工作。

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

断开链接不足以抑制警告。在 编辑链接 window 上,我单击了 启动提示符 并将单选按钮设置为 "Don't display the alert and don't update automatic links"。这成功地阻止了警告的出现。

您的工作簿可以通过指向另一个工作簿的命名范围 linking。搜索 linked 工作簿的公式可能找不到任何结果,因为 link 隐藏在名称中。

检查 link 到其他工作簿的命名范围。

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

可能属于其中之一吗?:

  • HYPERLINKS(公式和正常)
  • 名称管理员
  • 验证
  • 条件格式
  • 带有宏的按钮(仍然指向原始宏)