Dừng vòng lặp lỗi 'Name Already Exists' khi sao chép trang tính Excel

intermediate📊 Microsoft Excel2026-07-20| Microsoft Excel cho Microsoft 365, Excel 2021, 2019, 2016, 2013 trên Windows và macOS.

Error Message

The name 'PrintArea' already exists. Click Yes to use that version of the name, or click No to rename the version of the 'PrintArea' you're moving or copying.
#excel#vba#khắc-phục-lỗi#vùng-đặt-tên#hiệu-suất

Vòng lặp hộp thoại gây ức chếÍt có điều gì trong Excel gây khó chịu hơn một hộp thoại không chịu biến mất. Bạn nhấp chuột phải vào một tab để di chuyển hoặc sao chép nó, và đột nhiên bạn bị mắc kẹt. Bạn nhấp "Yes" để bỏ qua xung đột tên, nhưng nó lại hiện ra lần nữa. Rồi lại lần nữa. Đôi khi bạn phải nhấp "Yes" 50 hoặc 60 lần chỉ để hoàn tất một thao tác sao chép duy nhất.

The name 'PrintArea' already exists. Click Yes to use that version of the name, or click No to rename the version of the 'PrintArea' you're moving or copying.

Vòng lặp này thường liên quan đến các tên như Print_Titles, Criteria, hoặc _FilterDatabase. Ngay cả khi bạn đổi tên một cái, Excel thường tìm thấy thêm năm cái nữa bị ẩn trong metadata.

Gốc rễ của vấn đềXung đột xảy ra vì trang tính nguồn và sổ làm việc (workbook) đích của bạn chia sẻ cùng các Vùng đặt tên (Named Ranges). Khi bạn di chuyển một trang tính, Excel cố gắng mang theo các dữ liệu đi kèm. Nếu đích đã có một tên toàn cục như "Print_Area," Excel sẽ bị bối rối không biết nên ưu tiên cái nào.

Điều thực sự đau đầu là gì? Những cái tên này thường vô hình. Chúng là các tên "ma" được tạo ra bởi các macro cũ, các plugin bên thứ ba như Bloomberg hoặc Solver, hoặc các tệp .xls cũ hơn. Vì chúng bị ẩn, chúng sẽ không xuất hiện trong danh sách tiêu chuẩn của bạn, khiến việc xóa thủ công là không thể.

Cách 1: Kiểm tra thủ công nhanhTrước khi sử dụng code, hãy kiểm tra xem các tên đó có đơn giản là bị vùi lấp trong cài đặt của bạn hay không. Cách này hiệu quả nếu người dùng trước đó đã tạo các vùng này một cách thủ công.

  • Mở sổ làm việc nguồn của bạn.- Chuyển đến tab Formulas và nhấp vào Name Manager (hoặc nhấn Ctrl + F3).- Tìm bất kỳ tên nào có lỗi #REF! trong cột "Refers To".- Chọn các tên bị hỏng hoặc xung đột này và nhấn Delete.Khi Name Manager có vẻ trống rỗng nhưng lỗi vẫn tiếp diễn, nghĩa là các tên đó đã bị ẩn. Bạn sẽ cần Cách 2 để buộc chúng phải xuất hiện.

Cách 2: Dọn dẹp các tên bị ẩn qua VBA (Cách chuyên nghiệp)VBA là cách đáng tin cậy nhất để loại bỏ các thông báo này. Các script này nhắm vào các thuộc tính ẩn mà giao diện Excel bỏ qua.

Tùy chọn A: Hiển thị tất cả mọi thứ trướcSử dụng cách này nếu bạn muốn kiểm tra các tên trước khi xóa chúng. Nó sẽ bật công tắc "Visible" cho mọi tên trong tệp.

Sub UnhideAllNames()
    Dim xName As Name
    For Each xName In ActiveWorkbook.Names
        xName.Visible = True
    Next xName
    MsgBox "Hãy kiểm tra Name Manager ngay bây giờ. Tất cả các tên ẩn đã được hiển thị."
End Sub

Tùy chọn B: Dọn dẹp triệt đểNếu bạn chỉ muốn các lỗi dừng lại, hãy sử dụng script này. Nó tự động xóa mọi tên bị ẩn và bất kỳ tên nào chứa lỗi #REF!.

Sub CleanUpNames()
    Dim xName As Name
    Dim xCount As Long
    On Error Resume Next
    For Each xName In ActiveWorkbook.Names
        If Not xName.Visible Or InStr(1, xName.Value, "#REF!") > 0 Then
            xName.Delete
            xCount = xCount + 1
        End If
    Next xName
    MsgBox xCount & " tên ma đã được xóa thành công.", vbInformation
End Sub

Cách áp dụng bản sửa lỗi:- Nhấn Alt + F11 để mở VBA Editor.- Nhấp vào Insert > Module ở menu trên cùng.- Dán script bạn đã chọn vào cửa sổ trắng.- Nhấn F5 để chạy ngay lập tức.## Cách 3: Bỏ qua xung đột PrintAreaNếu lỗi của bạn đề cập cụ thể đến PrintArea, thường là do cả hai sổ làm việc đều có thiết lập trang cứng nhắc. Bạn thường có thể bỏ qua việc kiểm tra bằng cách xóa các cài đặt in trước khi di chuyển.

  • Trong trang tính nguồn, đi tới Page Layout.- Nhấp vào Print Area và chọn Clear Print Area.- Thử thực hiện lại thao tác Di chuyển/Sao chép. Cách này thường hiệu quả vì bạn đã loại bỏ metadata cụ thể gây ra xung đột.## Cách xác minh bản sửa lỗiSau khi bạn đã chạy dọn dẹp, hãy mở Name Manager (Ctrl + F3). Nó sẽ sạch sẽ hoặc chỉ chứa các vùng mà bạn sử dụng hàng ngày. Thử sao chép lại trang tính. Nếu nó di chuyển ngay lập tức mà không có một cửa sổ bật lên nào, bạn đã xóa bộ nhớ đệm thành công.

Mẹo chuyên nghiệp để giữ sổ làm việc sạch sẽ- Phạm vi của tên (Scope): Khi tạo một tên mới, hãy thay đổi Scope từ "Workbook" thành trang tính cụ thể. Điều này giữ cho tên ở chế độ cục bộ và ngăn chặn xung đột toàn cục.- Cảnh giác với các tệp cũ: Chuyển đổi tệp .xls cũ (1997-2003) sang .xlsx thường nhập theo hàng thập kỷ rác tên ẩn. Hãy chạy script dọn dẹp trên các tệp này ngay khi bạn chuyển đổi chúng.- Chỉ dán giá trị (Paste Values only): Nếu bạn không cần công thức, đừng sao chép trang tính. Nhấn Ctrl + A, sau đó Ctrl + C, và sử dụng Paste Values trong sổ làm việc mới. Điều này sẽ để lại tất cả các metadata ẩn đằng sau.

Related Error Notes