Code macro xóa Define name trong excel

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Mình có file excel có nhiều define name trong đó.

Bạn nào có code macro để xoá hết các define name cho mình xin với.

Xin cám ơn.

Sub XoaName()
Dim N as name
For each N in activeworkbook.names
N.Delete
Next
End Sub

Bạn thử code này xem.

Đối với những name cứng đầu, không thể xóa được theo code này đâu anh nhé.

Được nhưng phải kiên nhẫn:
Dùng code này:

Sub DelNames()
Dim N As Name
On Error Resume Next
With ActiveWorkbook
For Each N In .Names
N.Delete
Next
MsgBox .Names.Count
End With
End Sub
– Chạy code xong, để ý MsgBox
– Đóng và lưu file
– Mở lên và chạy lại code —> Để ý MsgBox sẽ thấy số name có giảm
– Tiếp tục đóng và lưu file.. rồi lại mở file và chạy code
vân vân… đến khi sạch thì thôi
————-
Để công việc nhẹ nhàng hơn, ta sửa code thế này:

Sub Auto_Open()
Dim N As Name
On Error Resume Next
Application.DisplayAlerts = False
With ActiveWorkbook
For Each N In .Names
N.Delete
Next
MsgBox .Names.Count
If .Names.Count Then .Close True
Application.DisplayAlerts = True
End With
End Sub

Xong!

www.giaiphapexcel.com/diendan/threads/code-macro-x%C3%B3a-define-name-trong-excel.71139/

Trước tiên khi chép cái Auto_Open, xin vui lòng xóa trước 2 name Print_Area trước đi, vì thử đóng mở có hơn 30 lần nó còn 2 name đó liên tục, thế là phải Macro Security –> High.

ấy chà, đã là code thì làm sao phải gọn lẹ chứ thế này có lẽ là chậm hơn xoá tay rồi. huhu

Bạn muốn xóa lẹ, chỉ dùng Excel2007 trở lên thì sẽ lẹ hơn, tuy nhiên do file của bạn bị nhiễm virus nên có rất nhiều name bị ẩn, bạn phải cho hiện hình lên trước:

Sub hienname()
Dim n As Name
For Each n In ActiveWorkbook.Names
n.Visible = True
Next
End Sub

Sau đó bấm Ctrl+F3 để hiện hộp name, bạn chọn name đầu tiên, sau đó giữ shift và chọn name cuối cùng nó sẽ phủ khối toàn bộ name, sau đó bấm vào nút Delete là xóa hết ngay lập tức!

Với cái file quỷ này thì dù dùng Excel 2007 hay 2010, xóa được 1 lần toàn bộ thì name nó vẫn.. cứ còn
Thử xem thì biết

ĐÚNG! Trước mắt thấy bị xóa hết, nhưng thoát hộp Name ra rồi mở lại, nó vẫn còn trơ trơ! Cho nên chịu khó giải quyết ĐÓNG-MỞ thôi!

Có 1 cách bắt chước theo bài xóa Style này:
https://www.giaiphapexcel.com/forum/showthread.php?48778-H%E1%BB%8Fi-c%C3%A1ch-xo%C3%A1-Formating-Style-c%E1%BB%A9ng-%C4%91%E1%BA%A7u&p=380671#post380671
Tức là:
– Mở file
– Save As thành đuôi .xlsm
– Đóng file
– Đổi đuôi thành .zip
– Mở file zip, duyệt thư mục xl và copy file workbook.xml ra Desktop
– Mở file workbook.xml bằng Notepad
– Tìm từ khóa definedNames —> Xóa từ chuổi <definedNames> đến chuổi </definedNames> cuối cùng tìm thấy —> Tức ở giữa cặp từ khóa này cũng xóa sạch
– Xong, lưu file workbook.xml rồi kéo file trả lại vào file .zip
– Đổi đuôi file .zip thành .xlsm
– Mở file và kiểm tra
—————-
Nói có vẻ dài dòng chứ làm chỉ trong vòng 30s là xong!

Khóa học Power PI – Ứng dung trong Nhân sự
Khóa học SprinGO phù hợp

Khóa học Power PI – Ứng dung trong Nhân sự

TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...

Xem khóa học
★★★★★ 5 ★ 1 👤 1 ▥ 0
Quảng cáo

Bạn nên đọc

Bình luận

Quảng cáo

Cũ vẫn chất

Xem thêm