Skip to main content

Excel:如何修復失效的連結

Author: Sun Last Modified: 2025-05-12

在 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 個插入工具插入QR碼根據路徑插入圖片、...)   |   12 個轉換工具金額轉大寫匯率轉換、...)   |   7 個合併與分割工具高級合併行分割儲存格、...)   |   ... 還有更多

使用 Kutools for Excel 提升您的 Excel 技巧,體驗前所未有的高效。 Kutools for Excel 提供超過 300 種高級功能來提高生產力並節省時間。  點擊這裡獲取您最需要的功能...


Office Tab 將標籤式界面帶到 Office,讓您的工作更加輕鬆

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
  • 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
  • 將您的生產力提高 50%,每天為您減少數百次鼠標點擊!