Cách xóa tất cả các phạm vi đã đặt tên có lỗi #REF Excel bằng VBA

 


Các dải ô được đặt tên bằng #REF! lỗi xảy ra khi có lỗi 'tham chiếu'. Điều này thường xảy ra khi chính ô hoặc dải ô bị xóa. Ví dụ: nếu có một phạm vi được đặt tên tham chiếu đến các ô trong Trang tính1! B3 và bạn xóa toàn bộ hàng, cột hoặc trang tính có chứa phạm vi được đặt tên này, bạn sẽ nhận được lỗi #REF! lỗi. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách xóa các dải ô đã đặt tên bị lỗi #REF Excel bằng VBA.

Với #REF! lỗi, phạm vi được đặt tên trở nên vô dụng trừ khi bạn đặt lại các tham chiếu của chúng theo cách thủ công. Tuy nhiên, bạn cũng có thể xóa chúng dễ dàng bằng VBA. Chúng ta có thể kiểm tra tất cả các tên trong sổ làm việc bằng vòng lặp For Each… Next . Nếu giá trị chứa lỗi #REF! lỗi thì chúng ta có thể xóa nó.

Trước tiên, bạn cần thêm mô-đun vào sổ làm việc hoặc tệp bổ trợ. Sao chép và dán mã vào mô-đun để chạy nó. Ưu điểm chính của phương pháp mô-đun là nó cho phép lưu mã trong tệp, để có thể sử dụng lại sau này. Hơn nữa, các chương trình con trong mô-đun có thể được sử dụng bởi các biểu tượng trong dải trình đơn hoặc phím tắt. Hãy nhớ lưu tệp của bạn ở định dạng XLSM hoặc XLAM để lưu mã VBA của bạn. Dưới đây là một mã mẫu.


Sub DeleteNamedRangesWithREF()

    Dim nm As Name

    For Each nm In ActiveWorkbook.Names

        If InStr(nm.Value, "#REF!") > 0 Then

            nm.Delete

        End If

    Next nm

End Sub

Bình luận

0 Nhận xét