anhthuongqb
Thành viên mới
- Tham gia
- 20/11/08
- Bài viết
- 27
- Được thích
- 0
File quá nhiều name rác và link tới các sheet khác. Đã fix cho bạn. Tuy nhiên còn mấy cái Macro 4 chưa tìm thấy vì ko có nhiều time lắm.ai biết làm thế nào để sữa file này thì giúp mình với nhé. Mình đang cần gấp
Nhiều name rác quá đấy mà!ai biết làm thế nào để sữa file này thì giúp mình với nhé. Mình đang cần gấp
Huynh có thể chỉ giúp mình loại bớt các file rác không chư mình còn mấy file cũng có hiện tượng lưu không được. làm dự toán đấu thầu xong khi hoàn công không thể sử dụng để bóc khối lượng thanh toán đượcNhiều name rác quá đấy mà!
Mình xóa hết name rác đi thì lưu file bình thường.
cứu em với các bác ới. Không hiểu vi sao khi em xoa các file rác bằng TNAME thì các sheet bị xoá mất không nói lại được với nhau nũaNhiều name rác quá đấy mà!
Mình xóa hết name rác đi thì lưu file bình thường.
Sub Delete_Names()
Dim n As Name
Name1 = MsgBox("Tong so co " & ActiveWorkbook.Names.Count & " Name")
For Each n In ThisWorkbook.Names
If n.refersto Like "*[#]REF*" Or _
n.refersto Like "#REF!*" Or _
n.refersto Like "*%" Or _
n.refersto Like "*\*" Then n.Delete
Next
MsgBox "Con Lai " & ActiveWorkbook.Names.Count & " Name sach"
End Sub
Thêm cái này nữa của Bác OKEBAB mà Bác HYen đã chia sẻ cho tôi,Tôi học được cái này trên GPE và đã sửa lại với quan điểm "thà bỏ sót chứ không giết nhầm". Từ lâu tôi chỉ sử dụng duy nhất cách này và thấy tương đối hiệu quả. Xin chia xẻ với các bạn.
PHP:Sub Delete_Names() Dim n As Name Name1 = MsgBox("Tong so co " & ActiveWorkbook.Names.Count & " Name") For Each n In ThisWorkbook.Names If n.refersto Like "*[#]REF*" Or _ n.refersto Like "#REF!*" Or _ n.refersto Like "*%" Or _ n.refersto Like "*\*" Then n.Delete Next MsgBox "Con Lai " & ActiveWorkbook.Names.Count & " Name sach" End Sub
Option Explicit
Sub DeleteErrName()
On Error Resume Next
Dim NSh As Name, i As Integer
Dim OldStatus As Boolean, ThongBao As String
OldStatus = Application.DisplayStatusBar
Sheets.Add.Name = "ShName"
For Each NSh In ActiveWorkbook.Names
If InStr(1, NSh.RefersToR1C1, "#") > 0 Or _
InStr(1, NSh.RefersToR1C1, "\") > 0 Then
i = i + 1
Application.StatusBar = "Deleted : " & Format(i, "#,##0") & _
" Deleting...: " & NSh.Name
Sheets("ShName").Range("A" & i).Value = NSh.Name
Sheets("ShName").Range("B" & i).Value = " " & NSh.RefersToR1C1
NSh.Delete
End If
Next
If i > 0 Then _
ThongBao = ThongBao & Chr(13) & Chr(13) & " -" & Format(i, "#,##0") & " Names da xoa"
MsgBox ThongBao, vbInformation, "GPE"
Application.StatusBar = ""
Application.DisplayStatusBar = OldStatus
End Sub