Xóa Name rác.

Quảng cáo

sealand

Thành viên gạo cội
Tham gia ngày
16 Tháng năm 2008
Bài viết
4,877
Được thích
7,636
Điểm
0
Tuổi
61
Nơi ở
Hải Phòng
Mình đã cài Virus Macro Warming của TUAN VNUNI. Khi sử dụng cảnh báo tốt.
Nhưng có 1 số file Excel (Mẫu báo cáo BHXH tải từ Internet ) báo xóa Name rác và mình chọn xóa nhưng chương trình không xóa được hết. Mình vào define--Name để Delete nhưng không được.
Các bạn chỉ mình cách nào xóa được Name dạng này với.
Xin cảm ơn.
 

DOSNET

Thành viên gắn bó
Thành viên danh dự
Tham gia ngày
3 Tháng tám 2007
Bài viết
1,634
Được thích
2,362
Điểm
0
Tuổi
44
Nơi ở
Hà nội
- Gửi thẳng cho anh Tuân đi bạn ! Cũng là góp phần giúp anh Tuân hoàn thiện Add-Ins của mình !
 

ThuNghi

Hãy cho rồi sẽ nhận!
Thành viên danh dự
Tham gia ngày
16 Tháng tám 2006
Bài viết
3,814
Được thích
4,457
Điểm
0
Mong các anh chị giúp đỡ! chân thành cảm ơn....!@2@
Bạn chen ngang topic người khác rồi.
Code xóa dòng nếu C =0
PHP:
Sub XoaRow()
Dim eRow As Long
Sheet1.Select
eRow = [a65000].End(xlUp).Row

For i = eRow To 1 Step -1
    If Range("C" & i).Value = 0 Then Rows(i).Delete Shift:=xlUp
Next

End Sub
Nhờ Mod dời bài hộ, cám ơn!
 

le tin

Học mãi
Tham gia ngày
22 Tháng mười 2007
Bài viết
724
Được thích
557
Điểm
0
Chẳng hiểu sao chương trình của bạn TUAN tôi không làm được
Trước đây thì có báo nhưng diệt không được , nay thì không báo luôn
 

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia ngày
5 Tháng sáu 2008
Bài viết
30,725
Được thích
53,571
Điểm
50
Mình đã cài Virus Macro Warming của TUAN VNUNI. Khi sử dụng cảnh báo tốt.
Nhưng có 1 số file Excel (Mẫu báo cáo BHXH tải từ Internet ) báo xóa Name rác và mình chọn xóa nhưng chương trình không xóa được hết. Mình vào define--Name để Delete nhưng không được.
Các bạn chỉ mình cách nào xóa được Name dạng này với.
Xin cảm ơn.
Có 1 vài name khá kỳ lạ, dùng chương trình xóa không được, xóa bằng tay cũng không xong... nhưng nếu anh mở file trên Excel2007 thì nó làm tất tần tật trong vòng 5s
 

ThuNghi

Hãy cho rồi sẽ nhận!
Thành viên danh dự
Tham gia ngày
16 Tháng tám 2006
Bài viết
3,814
Được thích
4,457
Điểm
0

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia ngày
5 Tháng sáu 2008
Bài viết
30,725
Được thích
53,571
Điểm
50
Cái link đó chạy tốt mà anh.
Anh thử cái này xem sao: http://www.giaiphapexcel.com/forum/showthread.php?t=14137
Hồi nãy tải không đựoc, giờ thì đựoc rồi!
Mấy cái name này thật lạ, sau khi xóa xong thì đúng là không còn nhìn thấy nó trong define name nữa... nhưng nếu mở nó trên Excel2007 thì thấy vẩn còn nguyên!
Ah... xóa được rồi đấy
Nhân đây xin hỏi các cao thủ 1 vấn đề liên quan đến Sendkeys
Nếu tôi xóa các name bằng tay thì tôi làm như sau:
1> Chọn 1 sheet
2> Bấm Ctrl + F3
3> Bấm phím TAB
4> Bấm mũi tên lên
5> Bấm Alt + D
6> Bấm mũi tên lên

Lập lại bước 5 và 6 cho đến khi không còn name nào!
Vậy nếu tôi dùng Sendkey để thay thế các phím nóng mà tôi vừa bấm thì phải viết thế nào? Đã viết thử nhưng nó chạy không đúng
 

File đính kèm

  • 12-331-Luu.rar
    59.9 KB · Đọc: 411
Lần chỉnh sửa cuối:

Po_Pikachu

Po_pikachu@ymail.com
Tham gia ngày
29 Tháng tư 2008
Bài viết
2,209
Được thích
3,567
Điểm
0
Nơi ở
#VALUE!
Nếu bạn muốn xóa name nhanh thì đừng dùng lệnh senkey làm gì bạn vào đây sẽ thấy rất nhiều cách xóa name. Nếu tìm trên mục tìm kiếm thì còn nhiều nữa! http://www.giaiphapexcel.com/forum/showthread.php?t=3446 Lệnh Sendkey viết như sau: Application.SendKeys "%tmm" '
 
Lần chỉnh sửa cuối:

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia ngày
5 Tháng sáu 2008
Bài viết
30,725
Được thích
53,571
Điểm
50
Nếu bạn muốn xóa name nhanh thì đừng dùng lệnh senkey làm gì bạn vào đây sẽ thấy rất nhiều cách xóa name. Nếu tìm trên mục tìm kiếm thì còn nhiều nữa!
http://www.giaiphapexcel.com/forum/showthread.php?t=3446
Lệnh Sendkey viết như sau:

Application.SendKeys "%tmm" '<- Alt + T + M + M
Application.SendKeys "^{v}" '<- Ctrl + V

Hoặc bạn vào lệnh Object Brower trên thanh công cụ VBA rồi gõ từ khóa Sendkeys. Khi tìm thấy tồi nhấn phải chuột chọn Help sẽ có rất nhiều thông tin cho bạn chọn đó!
Thân.
Ẹc... ẹc... bạn cứ thử xóa name trong file mà ThuNghi gữi lên sẽ biết! Chưong trình của bạn TuanVNUNI bó tay luôn rồi đấy, cả Excel2007 cũng không xóa được! Vậy mà tôi dùng cách "củ chuối" trên thì lại được
 

Po_Pikachu

Po_pikachu@ymail.com
Tham gia ngày
29 Tháng tư 2008
Bài viết
2,209
Được thích
3,567
Điểm
0
Nơi ở
#VALUE!
Ẹc..Ẹc.. Sao em dùng cách cùi bắp đó mà có thấy gì hết đâu! Nó vẫn trơ ra đó.
 
Lần chỉnh sửa cuối:

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia ngày
5 Tháng sáu 2008
Bài viết
30,725
Được thích
53,571
Điểm
50
Ẹc..Ẹc.. Sao em dùng cách cùi bắp đó mà có thấy gì hết đâu! Nó vẫn trơ ra đó.
Có 1 vài name rất cứng đầu... sau khi bạn chạy code lần 1 thì đã có 1 số name bị xóa, còn lại cho dù bạn xóa bằng tay nó vẩn trơ trơ!
Lúc ấy hãy tạm lưu và đóng file lại, mở ra lần nữa rồi chạy code!
Chú ý: Phải chạy trên từng sheet 1 vì có 1 số name thuộc loại cục bộ (name của sheet chứ không phải của Workbook), chỉ nhìn thấy khi chọn vào sheet tương ứng
Đóng và lưu file, rồi lại mở ra kiểm tra, làm chừng 3 lần sẽ xóa sạch các name
Code của tôi đơn giãn như sau:
PHP:
Sub Test()
  Application.SendKeys "^{F3}"
  Application.SendKeys "{TAB}"
  Application.SendKeys "{UP}"
  For i = 1 To 500
     Application.SendKeys "%d"
     Application.SendKeys "{UP}"
  Next
  Application.SendKeys "{ESC}"
End Sub
 
Lần chỉnh sửa cuối:

ThuNghi

Hãy cho rồi sẽ nhận!
Thành viên danh dự
Tham gia ngày
16 Tháng tám 2006
Bài viết
3,814
Được thích
4,457
Điểm
0
Có 1 vài name rất cứng đầu... sau khi bạn chạy code lần 1 thì đã có 1 số name bị xóa, còn lại cho dù bạn xóa bằng tay nó vẩn trơ trơ!
Lúc ấy hãy tạm lưu và đóng file lại, mở ra lần nữa rồi chạy code!
Chú ý: Phải chạy trên từng sheet 1 vì có 1 số name thuộc loại cục bộ (name của sheet chứ không phải của Workbook), chỉ nhìn thấy khi chọn vào sheet tương ứng
Đóng và lưu file, rồi lại mở ra kiểm tra, làm chừng 3 lần sẽ xóa sạch các name
Code của tôi đơn giãn như sau:
PHP:
Sub Test()
  Application.SendKeys "^{F3}"
  Application.SendKeys "{TAB}"
  Application.SendKeys "{UP}"
  For i = 1 To 500
     Application.SendKeys "%d"
     Application.SendKeys "{UP}"
  Next
  Application.SendKeys "{ESC}"
End Sub
Gia công quá, thú thật lúc đâu tôi xóa OK, sau này xóa lại để HD bà chị thì không được, cũng dùng Excel 2007. Cũng chả nhớ mình đã làm gì.
Sao cái Virus Macro được tạo ra từ Excel mà lại không thể từ Excel xoa nhỉ, hay là quay lại Ex97.
Dù sao cũng cám ơn bạn.
 

Nguyễn Duy Tuân

Nghị Hách
Thành viên danh dự
Tham gia ngày
13 Tháng sáu 2006
Bài viết
4,402
Được thích
9,917
Điểm
2,868
Nơi ở
Hà Nội
Gia công quá, thú thật lúc đâu tôi xóa OK, sau này xóa lại để HD bà chị thì không được, cũng dùng Excel 2007. Cũng chả nhớ mình đã làm gì.
Sao cái Virus Macro được tạo ra từ Excel mà lại không thể từ Excel xoa nhỉ, hay là quay lại Ex97.
Dù sao cũng cám ơn bạn.

Anh xem cái VirusMacroWarning có tiêu diệt được không nhé.
http://www.bluesofts.net/Products/AddIns/VirusMacroWarning/Index.htm
 

haonlh

Thành viên tích cực
Tham gia ngày
2 Tháng mười hai 2007
Bài viết
1,175
Được thích
575
Điểm
0
Gần đây tôi thường thấy trong file có 1 sheet ẩn, tên là XL4Poppy, chứa các mã lệnh của Macro 4.
Và có rất nhiều name rác (gần 400).

Tôi thường làm thế này:
1. Hiện và xóa XL4Poppy.
2. Chạy vài lần 2 macro sau

Sub xoa_ten()
For i = 1 To Names.Count
Names(1).Delete
Next
End Sub

Sub Doi_Noi_Dung_ten()
For i = 1 To Names.Count
Names(i).Value = "A1"
Next
End Sub

3. Xóa tiếp bằng tay, có thể dùng SUB với Sendkeys
4. Đóng file và chương trình Excel trước khi làm tiếp với Excel

Thông thường, dung lượng file giảm khoảng 600 KB.
 
Lần chỉnh sửa cuối:

thaycung

Thành viên hoạt động
Tham gia ngày
27 Tháng một 2008
Bài viết
100
Được thích
87
Điểm
0
Tôi dùng thử VirusMacroWarning nhưng vẫn không xóa được hết các Name rác và vẫn phải xóa bằng tay. Tôi gửi kèm 2 files dưới đây: book1.xls là file gốc, book2.xls là file đã dùng VirusMacroWarning để xóa các Name rác, mọi người kiểm tra dùm.
 

File đính kèm

  • 1.rar
    184.9 KB · Đọc: 57

dat_butmuc

weitə r ə'pɔn prɔvidəns
Tham gia ngày
22 Tháng năm 2008
Bài viết
1,763
Được thích
2,227
Điểm
0
Nơi ở
TP HCM

File đính kèm

  • Book111.rar
    20.9 KB · Đọc: 25

thaycung

Thành viên hoạt động
Tham gia ngày
27 Tháng một 2008
Bài viết
100
Được thích
87
Điểm
0
Bạn vẫn dùng VirusMacroWarning hay vào Define Name để xoá từng name?
 
Quảng cáo
Top Bottom