Hỏi cách xóa dòng theo điều kiện

  • Thread starter Thread starter ST-Lu!
  • Ngày gửi Ngày gửi
Liên hệ QC

ST-Lu!

Love Wingchun
Tham gia
19/8/08
Bài viết
730
Được thích
546
Nghề nghiệp
Xích lô một thời
Em muốn xóa những dòng (bắt đầu từ A2 trờ đi) mà các giá trị tại cột A khác
"KKLUHPH1*"
thì đoạn code sau sai ở đâu ạ
Dim rc As Long
rc = Cells(Cells.Rows.Count, 1).End(xlUp).Row
Do
If rc > 1 and Cells(rc, 1).value <> "kkluhph1*" Then
Cells(rc, 1).EntireRow.Delete Shift:=xlUp
End If
rc = rc - 1
Loop While rc > 1

Mong các anh dạy bảo
 
Rất đơn giãn là Record macro và xem "nó" viết thế nào? Nếu là tôi thì tôi cũng sẽ làm vậy (cú pháp sao nhớ hết nổi)
---------------------------
Thôi... làm luôn đây
PHP:
Sub Test()
  Dim Rng As Range
  Set Rng = [A1].CurrentRegion
  Rng.AutoFilter Field:=1, Criteria1:="<>KKLUHPH1*"
  Rng.Offset(1).SpecialCells(12).EntireRow.Delete
  ActiveSheet.AutoFilterMode = False
End Sub
Hic, cứ tưởng does not begin with là phương pháp .........

Thế này thì cứ nói là dùng AutoFilter thay cho AdvancedFilter có phải là dễ hiểu, dễ hình dung hơn không?

Hoá ra là đã làm rồi mà cứ tưởng là .....
 
Upvote 0
Hic, cứ tưởng does not begin with là phương pháp .........

Thế này thì cứ nói là dùng AutoFilter thay cho AdvancedFilter có phải là dễ hiểu, dễ hình dung hơn không?

Hoá ra là đã làm rồi mà cứ tưởng là .....
Đúng là như vậy.. nhưng nếu không "vọc" kỹ AutoFilter thì chưa chắc biết được có vụ lọc "does not begin with" này...
Khi ta record macro với thao tác AutoFilter\Custom\Does not... thì nó viết ra thành 1 câu lệnh đơn giãn đến không ngờ
(Chắc Boyxin đang tưởng nó sẽ ghi thành 1 cái gì đó khác hơn và phức tạp hơn ??? Ẹc... Ẹc... Tôi cũng từng nghĩ thế ---> Nếu không thì đâu có làm file ấy bằng Advanced Filter)
 
Upvote 0
Chào các anh, chị
Hiện tại code trong file chạy rất ổn, nhưng do nhu cầu phát sinh trong công việc. Em phát hiện vẫn còn một lỗi sau mà em chưa chỉnh lại được
- Sau khi chạy code xong em bị xóa mất dòng dữ liệu (hiện tại trong file gốc đó là dòng 311 và 313 (đây là trường hợp đặc biệt của file gốc em muốn dữ lại)

Xin các anh chỉ bảo và dạy dỗ

Em cám ơn nhiều
--------------
Code này bác Boy xin giúp em đó nha, bác chỉnh giúp em chút

Cám ơn bác
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Chào các anh, chị
Hiện tại code trong file chạy rất ổn, nhưng do nhu cầu phát sinh trong công việc. Em phát hiện vẫn còn một lỗi sau mà em chưa chỉnh lại được
- Sau khi chạy code xong em bị xóa mất dòng dữ liệu (hiện tại trong file gốc đó là dòng 311 và 313 (đây là trường hợp đặc biệt của file gốc em muốn dữ lại)

Xin các anh chỉ bảo và dạy dỗ

Em cám ơn nhiều
--------------
Code này bác Boy xin giúp em đó nha, bác chỉnh giúp em chút

Cám ơn bác

Thì thêm một điều kiện nữa thôi mà em :

PHP:
.AutoFilter Field:=2, Criteria1:="<>KKLUHPH1*", Operator:=xlAnd , Criteria2:="<>ROCND"
Thân!
 
Upvote 0
Thì thêm một điều kiện nữa thôi mà em :

PHP:
.AutoFilter Field:=2, Criteria1:="<>KKLUHPH1*", Operator:=xlAnd , Criteria2:="<>ROCND"
Thân!

Anh Bắp ơi
Hu hu em không biết thêm vào đâu cả. Vì code viết có dùng Auto filter đâu anh??
Em cũng không biết đặt điều kiện <>ROCND là có đúng không? vì bao lâu nay em lấy dữ liệu từ mạng xuống thì lần đầu gặp kiểu này.
Nhưng em quan sát thì dữ liệu dòng 311, 313 và cột 3,4,5..có dữ liệu = 0
-------------
em muốn code vẫn vậy sẽ xóa các row không thỏa mãn điều kiện và vẫn dữ lại được dòng
kiểu như 311, 313

Mong được anh chỉ thêm
 
Upvote 0
Chào các anh, chị
Hiện tại code trong file chạy rất ổn, nhưng do nhu cầu phát sinh trong công việc.
- Sau khi chạy code xong em bị xóa mất dòng dữ liệu (hiện tại trong file gốc đó là dòng 311 và 313 (đây là trường hợp đặc biệt của file gốc em muốn dữ lại)

Xin các anh chỉ bảo và dạy dỗ

--------------
Code này bác Boy xin giúp em đó nha, bác chỉnh giúp em chút

Cám ơn bác

Cụ thể là giữ lại dòng 311 và 313 hay là dựa vào dấu hiệu nào để giữ lại

hi, post bài xong mới nhìn thấy
Em cám ơn các anh nhé
Em làm được rồi
-----------------
Chúc cả nhà Giáng Sinh An Lành bên người thân!

ST-Lu!
Làm ơn nhờ MOD xóa giúp bài này
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom