Sửa lỗi 'This workbook contains one or more links that cannot be updated' trong Excel

intermediate📊 Microsoft Excel2026-05-29| Microsoft Excel (Office 365, Excel 2021, 2019, 2016) trên Windows 10/11 hoặc macOS

Error Message

This workbook contains one or more links that cannot be updated.
#excel#liên-kết-ngoài#liên-kết-bị-hỏng#kết-nối-dữ-liệu

Tình huống: Thông báo lỗi (Popup) dai dẳng

Đây là một vấn đề kinh điển gây đau đầu khi làm việc với bảng tính. Bạn mở một tệp làm việc (workbook) được kế thừa từ một đồng nghiệp cũ hoặc lấy từ một ổ đĩa mạng cũ kỹ, và Excel ngay lập tức báo lỗi. Một thanh cảnh báo màu xám hoặc một thông báo hiện lên: This workbook contains one or more links that cannot be updated.

Việc bỏ qua thông báo này hiếm khi có tác dụng; nó sẽ đơn giản xuất hiện lại vào lần tiếp theo bạn mở tệp. Điều này xảy ra vì Excel đang tìm kiếm một tệp nguồn—chẳng hạn như Budget_2023.xlsx—đã bị đổi tên, bị xóa hoặc được chuyển sang một thư mục mà bạn không có quyền truy cập. Mặc dù trông có vẻ như một lỗi nhỏ, nhưng những liên kết bị hỏng này có thể gây ra tình trạng giật lag đáng kể khi tính toán, đôi khi mất thêm 5–10 giây "suy nghĩ" mỗi khi bạn chỉnh sửa một ô.

Phân tích: Tại sao Excel không thể tìm thấy nguồn

Về cơ bản, Excel duy trì một sổ cái ẩn ghi lại mọi kết nối bên ngoài. Chúng không phải lúc nào cũng là các công thức ô rõ ràng. Các liên kết thường ẩn náu trong siêu dữ liệu (metadata) của tệp làm việc, tạo ra các "liên kết ma" (phantom links) mà cách tìm kiếm thông thường không thể phát hiện. Nếu bạn đang săn tìm nguyên nhân, hãy kiểm tra những vị trí ẩn nấp phổ biến sau:

  • Defined Names: Các vùng đặt tên (named ranges) trỏ đến các đường dẫn tệp không còn tồn tại.
  • Objects và Shapes: Các nút bấm hoặc hình ảnh vô tình được liên kết với các macro trong các tệp khác.
  • Chart Series: Các biểu đồ vẫn cố gắng lấy dữ liệu từ một trang tính nguồn cũ.
  • Conditional Formatting: Các quy tắc định dạng có điều kiện tham chiếu đến các dải ô trong các tệp làm việc bên ngoài.
  • Data Validation: Các menu thả xuống cố gắng lấy danh sách từ một tệp đang bị thiếu.

Khắc phục nhanh: Công cụ 'Edit Links'

Hãy bắt đầu với trình quản lý có sẵn của Excel trước khi bạn đi sâu vào kiểm tra thủ công.

  • Điều hướng đến thẻ Data trên dải Ribbon.
  • Nhấp vào Edit Links trong nhóm Queries & Connections. Nếu nút này bị xám màu, Excel không phát hiện thấy bất kỳ tham chiếu bên ngoài chuẩn nào.
  • Quét danh sách. Bất kỳ mục nào có nhãn "Error: Source not found" chính là nguồn gốc gây ra thông báo lỗi của bạn.
  • Chọn liên kết bị hỏng và nhấp vào Break Link. Thao tác này sẽ chuyển đổi vĩnh viễn các công thức bên ngoài đó thành các giá trị tĩnh cuối cùng được ghi nhận.

Mẹo chuyên nghiệp: Nếu việc nhấp vào 'Break Link' không có tác dụng, liên kết đó có thể đang nằm trong một trang tính được bảo vệ (protected sheet) hoặc một 'Defined Name' bị ẩn mà công cụ này không thể tiếp cận.

Khắc phục triệt để: Săn tìm các liên kết ma

Khi công cụ 'Edit Links' thất bại, bạn phải thực hiện một số công việc thám tử thủ công để dọn dẹp tệp làm việc.

1. Tìm kiếm công thức có chứa dấu ngoặc vuông

Các liên kết bên ngoài luôn chứa dấu ngoặc vuông. Nhấn Ctrl + F, nhấp vào Options, và sử dụng các cài đặt sau:

  • Find what: [ (Đây là cách đáng tin cậy nhất để tìm các tham chiếu bên ngoài).
  • Within: Workbook
  • Look in: Formulas

Nhấp vào Find All. Excel sẽ liệt kê mọi ô hiện đang liên kết ra bên ngoài tệp hiện tại.

2. Dọn dẹp Defined Names (Nguyên nhân phổ biến nhất)

Các tệp làm việc cũ thường chứa các tên "thây ma" (zombie names). Một người phát triển có thể đã tạo ra một vùng như 'SalesData' từ nhiều năm trước và quên mất sự tồn tại của nó.

  • Nhấn Ctrl + F3 để mở Name Manager.
  • Kiểm tra cột Refers To để tìm bất kỳ đường dẫn nào chứa C:\ hoặc http://.
  • Sử dụng nút Filter ở góc trên bên phải và chọn Names with Errors.
  • Xóa các mục này nếu chúng không phục vụ mục đích hiện tại nào.

3. Kiểm tra các đối tượng (Objects) và biểu đồ

Nhấp chuột phải vào bất kỳ nút bấm hoặc hộp văn bản nào trong các trang tính của bạn và chọn Assign Macro. Đảm bảo đường dẫn macro không trỏ đến ổ đĩa cục bộ trên một máy tính khác, chẳng hạn như 'C:\Users\JohnDoe\Documents\...'. Đối với biểu đồ, hãy nhấp vào từng chuỗi dữ liệu và kiểm tra thanh công thức để tìm tên tệp bên ngoài.

Giải pháp cho nhà phát triển: Sử dụng VBA để liệt kê tất cả liên kết

Việc săn tìm thủ công là một sự lãng phí thời gian trong các tệp làm việc có hơn 50 trang tính. Hãy chạy macro VBA này để tạo một báo cáo sạch sẽ về mọi tham chiếu bên ngoài và vị trí chính xác của nó.

Sub ListExternalLinks()
    Dim ws As Worksheet
    Dim cell As Range
    Dim reportSheet As Worksheet
    Dim row As Long
    
    On Error Resume Next
    Set reportSheet = Sheets.Add
    reportSheet.Name = "LinkReport_" & Format(Now, "hhmm")
    row = 1
    
    reportSheet.Range("A1:C1").Value = Array("Sheet Name", "Cell Address", "Formula")
    
    For Each ws In ThisWorkbook.Worksheets
        If InStr(1, ws.Name, "LinkReport") = 0 Then
            For Each cell In ws.UsedRange.SpecialCells(xlCellTypeFormulas)
                If InStr(1, cell.Formula, "[") > 0 Then
                    row = row + 1
                    reportSheet.Cells(row, 1) = ws.Name
                    reportSheet.Cells(row, 2) = cell.Address
                    reportSheet.Cells(row, 3) = "'" & cell.Formula
                End If
            Next cell
        End If
    Next ws
    
    MsgBox "Found " & (row - 1) & " links. Check the 'LinkReport' sheet.", vbInformation
End Sub

Để sử dụng mã này: Nhấn Alt + F11, đi tới Insert > Module, dán mã vào và nhấn F5. Nó sẽ tạo ra một tab mới liệt kê mọi lệnh gọi bên ngoài trong tệp của bạn.

Xác minh: Kiểm tra hiệu quả sau khi xử lý

Sau khi bạn đã dọn dẹp các phần thừa, hãy xác minh việc khắc phục bằng ba bước sau:

  • Lưu tệp làm việc, đóng hoàn toàn Excel, sau đó mở lại tệp. Cảnh báo sẽ không còn xuất hiện.
  • Kiểm tra lại Data > Edit Links. Danh sách sẽ trống hoặc chỉ hiển thị các trạng thái 'OK'.
  • Chạy tập lệnh VBA một lần cuối. Nếu báo cáo trống, tệp làm việc của bạn chính thức sạch sẽ.

Mẹo từ chuyên gia: Sử dụng Power Query cho dữ liệu bên ngoài

Các liên kết trực tiếp từ ô này sang ô khác (như =[Source.xlsx]Sheet1!A1) nổi tiếng là mong manh. Chỉ cần một thư mục bị đổi tên là mọi thứ sẽ hỏng. Để có một thiết lập mạnh mẽ hơn, hãy sử dụng Power Query (Data > Get Data). Power Query xử lý các tệp bị thiếu một cách mượt mà và cung cấp cho bạn một menu tập trung duy nhất để cập nhật đường dẫn tệp nếu dữ liệu của bạn được chuyển sang một máy chủ mới.

Related Error Notes