Bảng tính có nhiều tên lạ trong hộp names in workbook

Liên hệ QC

nhatthai

Thành viên thường trực
Tham gia
16/7/07
Bài viết
221
Được thích
132
Nghề nghiệp
Quản lý dạy nghề
Không hiểu sao, khi tôi lập một bảng tính không hề đặt tên một vùng hoặc tạo một nhãn nào mà trong hộp Names in Workbook lại có quá nhiều tên. Vậy có cách nào để xóa nhanh các tên này không (Có rất nhiều bảng tính của tôi cũng bị tương tự)
Mong các bác chỉ giáo
thanks !
 
Lần chỉnh sửa cuối:
Máy của bạn bị virus, trên diễn đàn có rất nhiều chủ đề nói về điều này, chịu khó search nhé. Đây là một ví dụ.
 
Tên lạ trong file excel

chibi đã viết:
Máy của bạn bị virus, trên diễn đàn có rất nhiều chủ đề nói về điều này, chịu khó search nhé. Đây là một ví dụ.
Tôi đã tham khảo cách thực hiện với 2 code
1- Với đoạn code :
sub xoaten()
for each ten in Names
ten.delete
next
end sub
Tôi thử mở book mới, đặt tên mộ số vùng và áp dụng thì thực hiện được, nhưng khi thực hiện với những file của tôi thì cel đưa báo lỗi : 400
2- Với đoạn code
Sub RemoveBadNames()

Dim N As Variant
Dim rtn As Variant

For Each N In ActiveWorkbook.Names
If N.RefersTo Like "*[#]REF*" Then
rtn = MsgBox("BAD NAME: Delete name '" & N.Name & "'
refersto: '" & N.RefersTo, vbQuestion + vbYesNo)
'rtn = vbYes
If rtn = vbYes Then N.Delete
ElseIf N.RefersTo Like "*:\*" Then
rtn = MsgBox("EXTERNAL LINK: Delete name '" & N.Name & "'
refersto: '" & N.RefersTo, vbQuestion + vbYesNo)
If rtn = vbYes Then N.Delete
End If
Next

End Sub
khi áp dụng thì excel đưa ra báo lỗi :
Compile error
Syntax eror
Tôi không rành về VBA, mong được chỉ giáo và giúp đỡ.
Không biết tôi chép code vô VBA như vậy có đúng không.
tôi gửi 2 fie đính kèm, nhờ các bác coi giúp.
Cảm ơn nhiều.
 
Tên lạ trong file excel

chibi đã viết:
Máy của bạn bị virus, trên diễn đàn có rất nhiều chủ đề nói về điều này, chịu khó search nhé. Đây là một ví dụ.
Tôi đã tham khảo cách thực hiện với 2 code
1- Với đoạn code :
sub xoaten()
for each ten in Names
ten.delete
next
end sub
Tôi thử mở book mới, đặt tên mộ số vùng và áp dụng thì thực hiện được, nhưng khi thực hiện với những file của tôi thì cel đưa báo lỗi : 400
2- Với đoạn code
Sub RemoveBadNames()

Dim N As Variant
Dim rtn As Variant

For Each N In ActiveWorkbook.Names
If N.RefersTo Like "*[#]REF*" Then
rtn = MsgBox("BAD NAME: Delete name '" & N.Name & "'
refersto: '" & N.RefersTo, vbQuestion + vbYesNo)
'rtn = vbYes
If rtn = vbYes Then N.Delete
ElseIf N.RefersTo Like "*:\*" Then
rtn = MsgBox("EXTERNAL LINK: Delete name '" & N.Name & "'
refersto: '" & N.RefersTo, vbQuestion + vbYesNo)
If rtn = vbYes Then N.Delete
End If
Next

End Sub
khi áp dụng thì excel đưa ra báo lỗi :
Compile error
Syntax eror
Tôi không rành về VBA, mong được chỉ giáo và giúp đỡ.
Không biết tôi chép code vô VBA như vậy có đúng không.
tôi gửi 2 fie đính kèm, nhờ các bác coi giúp.
Cảm ơn nhiều.
 
Lần chỉnh sửa cuối:
Bạn hãy cẩn thận với Sub Xoaten() vì nó xoá sạch Name, không phân biệt Name do bạn đặt hay do Virus tạo ra đâu.
Sub RemoveBadNames() thì chỉ xoá Name bị lỗi, thế nên lại không xoá hết được những Name do Virus tạo ra.

Tóm lại, nếu trong file của bạn không có Name do bạn tạo thì dùng Code thứ nhất. Nếu có Name do bạn tạo thì phải xoá thủ công thôi. Hoặc dùng Excel 2007 hoặc dùng Name Manager sẽ nhanh hơn

TDN
_____________________
Bộ gõ trên GPE lúc này khó chịu quá, bị lỗi hoài (Virus ->Víu, Excel -> Ẽccell ...)
 
Làm bằng tay cho rồi.. còn nhanh hơn... 30 giây
Sửa cho bạn rồi đó! Bạn có bao nhiêu file bị vậy, đưa đây tôi múc hết luôn 1 lần...
 

File đính kèm

anhtuan1066 đã viết:
Làm bằng tay cho rồi.. còn nhanh hơn... 30 giây
Sửa cho bạn rồi đó! Bạn có bao nhiêu file bị vậy, đưa đây tôi múc hết luôn 1 lần...
Cảm ơn Anh Tuấn, nhưng nếu tải hết các file như vậy thì nhiều làm lắm, tải không nổi.
Cái file sau khi dược làm "lông", sạch sẽ lại nhẹ cân đi nữa chứ.
Xem còn cách nào, hoặc kiểm tra lại vì vao làm như hường dẫn (Cái cách xóa tất tần tật ấy, excel nó không chịu, cách này làm dược có lẽ nhanh)
Thanks tất cả các bác.
 
Tôi thì dùng Excel2007 đễ mở file... Xóa name cực nhanh.. Đã vậy bạn cũng có thể chọn cái nào chừa lại, cái nào xóa... Như thế có phải là tối ưu ko
 
anhtuan1066 đã viết:
Tôi thì dùng Excel2007 đễ mở file... Xóa name cực nhanh.. Đã vậy bạn cũng có thể chọn cái nào chừa lại, cái nào xóa... Như thế có phải là tối ưu ko
Không biết cài Excel 2007 chung với 2003 có ảnh hưởng gì không nhỉ? tôi chưa xài thứ này.
Nhưng mà, sau khi cài thì vào đâu để xóa nhỉ?
Thân
 
Nếu bạn cảm thấy ko chắc chắn thì đừng cài vào! Tốt nhất hảy xài bản Portable_Office2007, tải về là chạy luôn, ko cần cài đặt, như vậy sẽ ko ảnh hưởng tới các chương trình đang có trên máy tính!
Bạn vào google, search tìm chử: Portable_Office2007 là có đầy!
ANH TUẤN
 
nhatthai đã viết:
Không biết cài Excel 2007 chung với 2003 có ảnh hưởng gì không nhỉ? tôi chưa xài thứ này.
Nhưng mà, sau khi cài thì vào đâu để xóa nhỉ?
Thân
Bạn mến, hai đứa nó sống chung với nhau rất hòa bình, tôi đang xài như vậy. Để mở lên xem thôi, hoặc những file đơn giản, thì dùng 2003, nhanh hơn; nhưng nếu để làm việc, nhất là VBA và Name, thì dùng 2007 khoái hơn.
Mà thật sự thì tôi còn giữ 2003 để test file thôi, trước khi gửi cho bạn bè xem chẳng hạn (vì không phải ai cũng đã xài 2007), còn hiện tại thì chỉ dùng 2007. Có thể mới đầu thì không quen với giao diện mới nhưng từ từ bạn sẽ khoái nó, hơn 2003 nhiều thứ lắm.
Còn để xóa (nếu tôi hiểu đúng ý bạn là muốn xóa Excel) thì bạn dùng chính trình Setup của nó để Remove.
 
Web KT

Bài viết mới nhất

Back
Top Bottom