hung2412
Thành viên tích cực


- Tham gia
- 5/8/08
- Bài viết
- 934
- Được thích
- 240
- Giới tính
- Nam
Chào các bạn GPE!
Nhờ các bạn giúp đỡ cho tôi vấn đề này với, cụ thể như sau:
Dọc theo cột A có các ô chứa ký tự được phân cách như theo hình vẽ:

Nếu ô nào ở cột A có 2 ký tự "CT" ở bên trái ngoài cùng trong ô thì: Delete các dòng tính từ dòng chứa ô có 2 ký tự "CT" ở bên trái ngoài cùng trong ô đến xuống dòng kế bên trên dòng chứa ô có ký tự ở dưới.
Ví dụ: ô A6 có 2 ký tự "CT" ở bên trái ngoài cùng trong ô => Thỏa mãn điều kiện để Delete => Delete các dòng từ dòng 6 (Dòng này chứa ô A6) đến dòng 11 (Dòng này nằm ngay kế bên trên ô A12 có chứa ký tự).
=> Tôi xài Code như vầy:
=> Vấn đề được đặt ra ở đây là: Code trên duyệt từng ô từ dưới lên trên rất mất thời gian => Có Code vòng lặp nào duyệt trực tiếp các ô có chứa ký tự để xét có 2 ký tự "CT" ở bên trái ngoài cùng trong ô không? (Nghĩa là duyệt ô "nhảy cóc" từ ô chứa ký tự bên dưới đến ô chứa ký tự ngay bên trên, "bỏ qua" không duyệt các ô trống)
Mong các bạn GPE chỉ giáo!
Trân trọng cảm ơn!
P/s: Có 01 File đính kèm.
Nhờ các bạn giúp đỡ cho tôi vấn đề này với, cụ thể như sau:
Dọc theo cột A có các ô chứa ký tự được phân cách như theo hình vẽ:

Nếu ô nào ở cột A có 2 ký tự "CT" ở bên trái ngoài cùng trong ô thì: Delete các dòng tính từ dòng chứa ô có 2 ký tự "CT" ở bên trái ngoài cùng trong ô đến xuống dòng kế bên trên dòng chứa ô có ký tự ở dưới.
Ví dụ: ô A6 có 2 ký tự "CT" ở bên trái ngoài cùng trong ô => Thỏa mãn điều kiện để Delete => Delete các dòng từ dòng 6 (Dòng này chứa ô A6) đến dòng 11 (Dòng này nằm ngay kế bên trên ô A12 có chứa ký tự).
=> Tôi xài Code như vầy:
PHP:
Sub Delete()
Dim t As Long
For t = [A65536].End(xlUp).Row To 6 Step -1
If Left(Cells(t, 1), 2) = "CT" Then
Range(Cells(t, 1), Cells(t, 1).End(xlDown).Offset(-1, 0)).EntireRow.Delete
End If
Next
End Sub
Mong các bạn GPE chỉ giáo!
Trân trọng cảm ơn!
P/s: Có 01 File đính kèm.
File đính kèm
Lần chỉnh sửa cuối:

