Xóa tên (name) trong Sheet với điều kiện ?

Liên hệ QC

Chuotdong

Thành viên thường trực
Tham gia
28/11/06
Bài viết
255
Được thích
60
Điểm
1,148
File Excel của tôi có đến > 100 name ko dùng đến (do copy nhiều), làm thế nào chỉ tự động xóa các name không được dùng đến nhỉ
Tôi chỉ lám được như sau:

Sub XoaTen()
Dim N As Name
On Error Resume Next
For Each N In ActiveWorkbook.Names
N.Delete
Next
On Error GoTo 0
End Sub

Nhưng nó sẽ xóa tất cả các name có
 
Name không dùng đến có gì khác so với nhữg name đang dùng không vậy bạn?
 
name không dùng đến là name không xuất hiện trong các công thức ở các cell trong sheet và trong công thức của các name khác

Như vậy cũng khó phân biệt lắm, nếu như xóa 1 name mà excel có cảnh báo thì còn biết được, đằng này lại không biết.

Vì vậy nhất thiết phải có sự phân biệt.

Thân!
 
File Excel của tôi có đến > 100 name ko dùng đến (do copy nhiều), làm thế nào chỉ tự động xóa các name không được dùng đến nhỉ
Tôi chỉ lám được như sau:

Sub XoaTen()
Dim N As Name
On Error Resume Next
For Each N In ActiveWorkbook.Names
N.Delete
Next
On Error GoTo 0
End Sub

Nhưng nó sẽ xóa tất cả các name có
Ban mở file trên Excel2007, mở Name Manege lên và sort theo khung Refers to hoặc Value là biết ngay cái nào không dùng đến!
Tôi vẩn dùng cách này để xóa các name rác, rất nhanh và tiện lợi lại bảo đảm không bao giờ xóa nhầm
 
Ban mở file trên Excel2007, mở Name Manege lên và sort theo khung Refers to hoặc Value là biết ngay cái nào không dùng đến!
Tôi vẩn dùng cách này để xóa các name rác, rất nhanh và tiện lợi lại bảo đảm không bao giờ xóa nhầm
Tôi dùng Excel 2002 tiếc quá ;;;;;;;;;;;
 
Nếu 1 số name thì còn nhìn = mắt được, các name không dùng đến nếu có gì khác biệt thì có thể sử dụng chức năng filter của excel 2007 để xóa hoặc dùng name manager của anh MaiKa đều được
 
Bạn nói rõ hơn xem,name rác ở đây là name dạng (=#REF),name không sử dụng đến,hay name do copy dữ liệu từ vùng này sang vùng khác tạo ra...
 
Bạn nói rõ hơn xem,name rác ở đây là name dạng (=#REF),name không sử dụng đến,hay name do copy dữ liệu từ vùng này sang vùng khác tạo ra...
Thường là #REF,//Nga/....#REF
bạn tham khảo file gửi kèm, đây là 1 sheet, thực tế workbook có nhiều sheet, mỗi sheet có các name đang sử dụng khác nhau hoặc trùng nhau.
 

File đính kèm

  • name1.zip
    43.5 KB · Đọc: 32
Thường là #REF,//Nga/....#REF
bạn tham khảo file gửi kèm, đây là 1 sheet, thực tế workbook có nhiều sheet, mỗi sheet có các name đang sử dụng khác nhau hoặc trùng nhau.

Bạn tham khảo nhé :
Xóa các names bị lỗi:

PHP:
Sub DeleteErrName()
    On Error Resume Next
    Dim NSh As Name
    For Each NSh In ActiveWorkbook.Names
        If InStr(1, NSh.RefersToR1C1, "#") > 0 Then
            NSh.Delete
        End If
    Next
End Sub


Xóa các name Link:

PHP:
Sub DeleteLinkName()
    On Error Resume Next
    Dim NSh As Name
    For Each NSh In ActiveWorkbook.Names
        If InStr(1, NSh.RefersToR1C1, "\") > 0 Then
            NSh.Delete
        End If
    Next
End Sub

Thân!
 
Web KT
Back
Top