Macro xóa các name ma (do virut gây ra)

Liên hệ QC

lan070907

Thành viên mới
Tham gia
2/1/08
Bài viết
19
Được thích
3
Nghề nghiệp
kỹ sư cầu đường
Mình tạo được 1 macro để xóa các name ma. File đính kèm chỉ để tham khảo macro (có vi rút, bạn nào là cao thủ thì hãy tải file). Vào insert /name/ paste, để dán các name có trong workbook, sau đó lọc ra các tên mà bạn muốn giữ lại, còn các tên khác thì dùng hàm kết chuỗi giống như cú pháp mình viết ở sheet 3. Copy, dán vào thân của macro bạn sẽ thấy khi ấn Alt+F11. Bấm F5 để run macro.
Cách này có khuyết điểm là: số lượng name xóa mỗi lần khoảng 100 tên, nhiều hơn thì máy báo là hàm quá dài. Còn 1 vài tên mình xóa không được do máy báo lỗi, xem trong macro thì thấy có con vi rút beepsound, dùng Bakv xóa macro thì mất con beepsound, nhưng vẫn không xóa được cái name.
Bạn nào có tuyệt chiêu hơn xin vui lòng chỉ giúp. Gửi vào email cho mình với (honglan2811@yahoo.com) . Mình cảm ơn!
 

File đính kèm

Mình tạo được 1 macro để xóa các name ma. File đính kèm chỉ để tham khảo macro (có vi rút, bạn nào là cao thủ thì hãy tải file). Vào insert /name/ paste, để dán các name có trong workbook, sau đó lọc ra các tên mà bạn muốn giữ lại, còn các tên khác thì dùng hàm kết chuỗi giống như cú pháp mình viết ở sheet 3. Copy, dán vào thân của macro bạn sẽ thấy khi ấn Alt+F11. Bấm F5 để run macro.
Cách này có khuyết điểm là: số lượng name xóa mỗi lần khoảng 100 tên, nhiều hơn thì máy báo là hàm quá dài. Còn 1 vài tên mình xóa không được do máy báo lỗi, xem trong macro thì thấy có con vi rút beepsound, dùng Bakv xóa macro thì mất con beepsound, nhưng vẫn không xóa được cái name.
Bạn nào có tuyệt chiêu hơn xin vui lòng chỉ giúp. Gửi vào email cho mình với (honglan2811@yahoo.com) . Mình cảm ơn!

File của bạn còn 48 name (một số name bị ẩn), 1 sheet ẩn (do virus tạo ra)

Tên|Refer
"
"| ='A:\DG_2002\HS_NGOAI\PHONG\Tq_ad\DG_2000\DC_D2000\TBDC_D20\LH_CN\[LHCN_CG3.XLS]KLCT'!#REF!
_Fill| =#REF!R4C1:R57C1
_Key1| ='\\Giacong2\c\96Q2573\[HE-73.xls]#REF'!#REF!
_Key2| ='\\Giacong2\c\96Q2573\[HE-73.xls]#REF'!#REF!
_Order1| =255
_Order2| =255
_Sort| ='\\Giacong2\c\96Q2573\[HE-73.xls]#REF'!#REF!
_xlfn.BAHTTEXT| =#NAME?
a129| ={"Offgrid",#N/A,FALSE,"OFFGRID";"Region",#N/A,FALSE,"REGION";"Offgrid -2",#N/A,FALSE,"OFFGRID";"WTP",#N/A,FALSE,"WTP";"WTP -2",#N/A,FALSE,"WTP";"Project",#N/A,FALSE,"PROJECT";"Summary -2",#N/A,FALSE,"SUMMARY"}
a130| ={"Offgrid",#N/A,FALSE,"OFFGRID";"Region",#N/A,FALSE,"REGION";"Offgrid -2",#N/A,FALSE,"OFFGRID";"WTP",#N/A,FALSE,"WTP";"WTP -2",#N/A,FALSE,"WTP";"Project",#N/A,FALSE,"PROJECT";"Summary -2",#N/A,FALSE,"SUMMARY"}
| ='\\Mung\daitu\LUUTAM\VBAO\[BookJHFGJGXBGCCNCVCCVVCVCC2.xls]#REF'!#REF!
dfdljfdsl.xls| ={"'Sheet1'!$L$16"}
dghhh| ={"'Sheet1'!$L$16"}
dien| ={"'Sheet1'!$L$16"}
dsh| ={"'Sheet1'!$L$16"}
fdskflj.xls| ={"'Sheet1'!$L$16"}
g| ={"'Sheet1'!$L$16"}
ghgg| ={"'Sheet1'!$L$16"}
gkhf.xls| ={"'Sheet1'!$L$16"}
h| ={"'Sheet1'!$L$16"}
hdfhf| ={"'Sheet1'!$L$16"}
HTML_CodePage| =950
HTML_Control| ={"'Sheet1'!$L$16"}
HTML_Description| =""
HTML_Email| =""
HTML_Header| ="Sheet1"
HTML_LastUpdate| ="2000/9/14"
HTML_LineAfter| =FALSE
HTML_LineBefore| =FALSE
HTML_Name| ="J.C.WONG"
HTML_OBDlg2| =TRUE
HTML_OBDlg4| =TRUE
HTML_OS| =0
HTML_PathFile| ="C:\2689\Q\國內\00q3961台化龍德PTA3建造\MyHTML.htm"
HTML_Title| ="00Q3961-SUM"
huy| ={"'Sheet1'!$L$16"}
huyhqe.xls| ={"'Sheet1'!$L$16"}
ihkhgk| ={"'Sheet1'!$L$16"}
iyti| ={"'Sheet1'!$L$16"}
k| ={"Offgrid",#N/A,FALSE,"OFFGRID";"Region",#N/A,FALSE,"REGION";"Offgrid -2",#N/A,FALSE,"OFFGRID";"WTP",#N/A,FALSE,"WTP";"WTP -2",#N/A,FALSE,"WTP";"Project",#N/A,FALSE,"PROJECT";"Summary -2",#N/A,FALSE,"SUMMARY"}
ngu| ={"'Sheet1'!$L$16"}
q| ={"'Sheet1'!$L$16"}
qqgyyh.xls| ={"'Sheet1'!$L$16"}
thu| ={"'Sheet1'!$L$16"}
thuy| ={"'Sheet1'!$L$16"}
wrn.chi._.tiÆt.| ={#N/A,#N/A,FALSE,"Chi tiÆt"}
wrn.Report.| ={"Offgrid",#N/A,FALSE,"OFFGRID";"Region",#N/A,FALSE,"REGION";"Offgrid -2",#N/A,FALSE,"OFFGRID";"WTP",#N/A,FALSE,"WTP";"WTP -2",#N/A,FALSE,"WTP";"Project",#N/A,FALSE,"PROJECT";"Summary -2",#N/A,FALSE,"SUMMARY"}
wrnf.report| ={"Offgrid",#N/A,FALSE,"OFFGRID";"Region",#N/A,FALSE,"REGION";"Offgrid -2",#N/A,FALSE,"OFFGRID";"WTP",#N/A,FALSE,"WTP";"WTP -2",#N/A,FALSE,"WTP";"Project",#N/A,FALSE,"PROJECT";"Summary -2",#N/A,FALSE,"SUMMARY"}










Có rất nhiều code để xóa name trên diễn đàn. Bạn hãy tham khảo.

Dây là 1 trong các cách đó :

PHP:
Sub DeleteAllName()
    On Error Resume Next
    Dim I As Long, SoName As Long, Tyle As Long, ThongBao As String
    Dim OldStatus As Boolean
    OldStatus = Application.DisplayStatusBar
    SoName = ActiveWorkbook.Names.Count
    Dim NSh As Name
    
    SoName = ActiveWorkbook.Names.Count
    Application.ReferenceStyle = xlR1C1
    For Each NSh In ActiveWorkbook.Names
        Tyle = I * 100 / SoName
        Application.StatusBar = "Total Name : " & Format(SoName, "#,##0") & _
                "     Deleted " & Tyle & "%" & _
                "     Deleting...: " & NSh.Name
            I = I + 1
            NSh.Delete
    Next
    ThongBao = Format(I, "#,##0") & " Names da duoc xoa"
    Application.ReferenceStyle = xlA1
    Application.StatusBar = ""
    Application.DisplayStatusBar = OldStatus
    SoName = ActiveWorkbook.Names.Count
    If SoName > 0 Then _
        ThongBao = ThongBao & Chr(13) & Chr(13) & "   -" & Format(SoName, "#,##0") & " Names chua xoa"
        
    MsgBox ThongBao, vbInformation, "MrOkebab"
End Sub
Nếu khi chạy xòn code này mã vẫn còn name, bạn hãy save as lại đúng với tên của nó. Đóng Excel, mở lại File vừa lưu và tiến hành chạy Code trên một lần nữa.

Thân!
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom