Cần giúp đỡ tự động xóa dòng khi đồng thời có những ô rỗng và ô có số 0,0 trên 1 dòng (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

hung2412

Thành viên tích cực
Tham gia
5/8/08
Bài viết
929
Được thích
240
Giới tính
Nam
Mình chào các bạn GPE!
Mình có một vấn đề nhờ các bạn giúp đỡ với, cụ thể như sau:
Tự động xóa cả dòng khi các ô cùng dòng ở các cột từ cột E đến cột L đồng thời bị rỗng và có số 0,0. Ví dụ: Tự động xóa cả dòng 15 vì đồng thời có ô E15 có số "0,0", ô F15 đến ô J15 bị rỗng ,có ô K15 có số "0,0", ô L15 bị rỗng.
Mong các bạn chỉ giáo.
Trân trọng cảm ơn!
P/s: Có file đính kèm
 

File đính kèm

Hix, không có vị cao thủ nào giúp đỡ cả, bài toán quá khó chăng?
 
Mình chào các bạn GPE!
Mình có một vấn đề nhờ các bạn giúp đỡ với, cụ thể như sau:
Tự động xóa cả dòng khi các ô cùng dòng ở các cột từ cột E đến cột L đồng thời bị rỗng và có số 0,0. Ví dụ: Tự động xóa cả dòng 15 vì đồng thời có ô E15 có số "0,0", ô F15 đến ô J15 bị rỗng ,có ô K15 có số "0,0", ô L15 bị rỗng.
Mong các bạn chỉ giáo.
Trân trọng cảm ơn!
P/s: Có file đính kèm
Nếu xóa trực tiếp trên sheet gốc thì dùng thử code này xem sao
PHP:
Public Sub XoaDong()
Dim DL, d As Long, c As Long, i As Long, j As Long
Set DL = Sheet2.Range("A7", Sheet2.Range("L65000").End(xlUp))

Application.ScreenUpdating = False

For d = DL.Rows.Count To 3 Step -1
i = 0
For c = 5 To DL.Columns.Count
i = i + DL(d, c)
Next c
If i = 0 Then
DL.Rows(d).EntireRow.Delete
End If
Next d

For d = 3 To DL.Rows.Count
If Len(DL(d, 3)) > 0 Then
j = j + 1
DL(d, 1) = j
End If
Next d

Application.ScreenUpdating = True
End Sub
----------
Có thể sửa
PHP:
DL.Rows(d).EntireRow.Delete
thành
PHP:
DL.Rows(d).Delete
 
Lần chỉnh sửa cuối:
Nếu xóa trực tiếp trên sheet gốc thì dùng thử code này xem sao
PHP:
Public Sub XoaDong()
Dim DL, d As Long, c As Long, i As Long, j As Long
Set DL = Sheet2.Range("A7", Sheet2.Range("L65000").End(xlUp))

Application.ScreenUpdating = False

For d = DL.Rows.Count To 3 Step -1
i = 0
For c = 5 To DL.Columns.Count
i = i + DL(d, c)
Next c
If i = 0 Then
DL.Rows(d).EntireRow.Delete
End If
Next d

For d = 3 To DL.Rows.Count
If Len(DL(d, 3)) > 0 Then
j = j + 1
DL(d, 1) = j
End If
Next d

Application.ScreenUpdating = True
End Sub
Mình đã text và rất cool. Cảm ơn bạn nhiều. Bạn vất vả quá. Mình sẽ áp dụng vào công việc.
 
Web KT

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

Back
Top Bottom