跳至主要内容

Excel:如何修复失效链接

Author: Sun Last Modified: 2025-05-08

在 Excel 中,经常使用指向其他工作簿的链接来引用相关信息。然而,如果源工作簿被重命名或移动到其他位置,这些链接可能会断开,从而导致错误。本教程提供了两种有效的方法——使用“编辑链接”功能或 VBA 代码——快速识别并修复工作簿中的失效链接。

通过应用“编辑链接”修复失效链接

通过使用 VBA 代码修复失效链接


通过应用“编辑链接”修复失效链接

在 Excel 中,您可以进入“编辑链接”对话框逐一修复它们。

1. 打开包含失效链接的工作簿,并点击 数据 > 编辑链接 (在 查询与连接 组中)。
A screenshot of the Edit Links option under the Data tab in Excel

2. 在 编辑链接 对话框中,点击 检查状态 以找出哪些链接已失效。
A screenshot of the Edit Links dialog with the Check Status button highlighted A screenshot of the Edit Links dialog showing link status

3. 然后点击失效链接,再点击 更改源 按钮,在弹出的 更改源 窗口中选择正确的源工作簿,并点击 确定.
A screenshot of the Change Source dialog for fixing broken links in Excel

现在您可以看到状态已从 错误 变为 确定。重复步骤 3 以修复其他失效链接。
A screenshot of the Edit Links dialog with the link status updated to OK


通过使用 VBA 代码修复失效链接

本节介绍了一段 VBA 代码,帮助修复失效链接。

1. 打开要修复失效链接的工作簿,并按 Alt + F11 键。

2. 然后在弹出的 Microsoft Visual Basic for Applications 窗口中,点击 插入 > 模块 以创建一个新的空白模块。
A screenshot showing the VBA editor in Excel with a new module added

3. 将以下代码复制并粘贴到新模块中。

VBA:修复失效链接

Sub ResetInvalidLinks()
'UpdatedbyExtendoffice20220701
Dim xWB As Workbook
Dim xLks As Variant
Dim xFNum, xStatus As Integer
Dim xStrLk, xLinAddress As String
Dim xF
Dim xLk
Set xWB = Application.ActiveWorkbook
xLks = xWB.LinkSources(xlExcelLinks)
If IsEmpty(xLks) Then
    MsgBox "Select updated source"
    Exit Sub
End If
On Error Resume Next
For xFNum = LBound(xLks) To UBound(xLks)
    xStrLk = xLks(xFNum)
    xStrLk = Right(xStrLk, Len(xStrLk) - InStrRev(xStrLk, "\"))
    xStatus = ActiveWorkbook.LinkInfo(xStrLk, xlLinkInfoStatus)
    If xStatus <> 0 And xStatus <> 3 Then
        MsgBox xStrLk & " the link is broken, please select new source"
        xF = Application.GetOpenFilename()
        If xF <> "" Then
            For Each xLk In ActiveSheet.UsedRange.Hyperlinks
                xLinAddress = Right(xLk.Address, Len(xLk.Address) - InStrRev(xLk.Address, "\"))
                    If InStr(xStrLk, GetAddress) <> 0 Then
                        ActiveSheet.Hyperlinks.Add Anchor:=xLk.Range, Address:=xF
                    End If
            Next
            ActiveWorkbook.ChangeLink xLks(xFNum), xF, xlLinkTypeExcelLinks
        End If
        End If
    Next
End Sub

4. 按 F5 键或 运行 按钮Run button 以激活代码。现在它会搜索是否存在任何失效链接。如果有,将弹出一个对话框告诉您哪个链接失效,请选择新的源。点击 确定 继续。
A screenshot of a dialog displaying which link is broken

5. 在 打开 窗口中,选择更新后的源,点击 确定.
A screenshot of the Open dialog for selecting a new source file in Excel

如果工作簿中仍有失效链接,上述对话框会再次弹出,直到所有失效链接都被修复。

注意:如果工作簿中没有失效链接,VBA 将在运行后停止。

提示:如果您想查看所有额外的链接并断开失效链接, Kutools for Excel查找和断开链接 功能将是一个很好的帮手。
A screenshot of the Kutools Find and Break Broken Links feature

要了解更多关于此功能的信息,请查看我们的详细教程

Kutools for Excel - 通过超过300个必备工具,让Excel功能大幅提升。永久免费享受AI功能!立即获取


其他操作(文章)

如何在工作表中固定/锁定背景色? 有时,当您与他人共享工作表进行编辑时,您可能希望锁定某个单元格区域的背景色并防止其被更改。

如何减小 Excel 文件大小?有时,如果 Excel 文件过大,打开或保存可能需要花费数分钟。为了解决这个问题,本教程将告诉您如何通过删除不必要的内容或格式来减小 Excel 文件大小。

Excel:如何创建或插入书签?您是否曾想过在工作表或工作簿中有大量数据时,创建或插入一个书签以便快速跳转到特定的数据范围?

如何在 Excel 中对奇数行或偶数行(交替行/列)应用上色?在设计工作表时,许多人倾向于对奇数行或偶数行(交替行/列)应用上色,以使工作表更具视觉效果。本文将向您展示两种方法在 Excel 中对奇数行或偶数行/列应用上色。

最佳办公效率工具

🤖 Kutools AI 助手:基于智能执行生成代码创建自定义公式分析数据并生成图表调用 Kutools 函数等功能,彻底改变数据分析方式…
热门功能查找、高亮或标记重复项 | 删除空行 | 合并不丢失数据的列或单元格 | 四舍五入 ...
高级 LOOKUP多条件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 ....
高级下拉列表快速创建下拉列表 | 从属下拉列表 | 多选下拉列表 ....
列管理器添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域和列 ...
精选功能网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/斜体/删除线...)...
排名前 15 的工具集12 种文本 工具添加文本删除特定字符等) | 50 多 种图表 类型甘特图等) | 40 多种实用 公式基于生日计算年龄等) | 19 种插入 工具插入二维码根据路径插入图片等) | 12 种转换 工具小写金额转大写汇率转换等) | 7 种合并与分割 工具高级合并行分割单元格等) | 还有更多...

使用 Kutools for Excel 提升您的 Excel 技能,体验前所未有的高效。 Kutools for Excel 提供超过 300 种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...


Office Tab 将标签式界面引入 Office,让您的工作更加轻松

  • 在 Word、Excel、PowerPoint 中启用标签式编辑和阅读
  • 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中进行操作。
  • 将您的生产力提升 50%,每天为您减少数百次鼠标点击!