Xóa những dòng không PS

Liên hệ QC

ThuNghi

Hãy cho rồi sẽ nhận!
Thành viên đã mất
Tham gia
16/8/06
Bài viết
3,808
Được thích
4,449
Nhờ các bạn giúp đỡ.
Tôi có bảng NXT(PP đích danh), nếu chuyển sang tháng kế thì sẽ có một số dòng tồn CK bằng 0, những mặt hàng này không lặp lại.
Xin chỉ dẫn cho tôi một macro để xóa các dòng không còn.
Không dùng filter và sort
Cám ơn nhiều.
 
Tạo thủ tục xóa dòng rỗng

Nhờ các bạn tạo một lệnh hay button xóa các dòng mà có ô a(i)=0
i=1->50
cụ thể file co 50 rows mà những dòng nào có ô A(i)=0 thì xó nguyên dòng và cứ thế skip.
Cám ơn nhiều
 
/_ười quá!

Đoạn mã sau sẽ tìm trên cột 'J' kể từ 'J2' & xóa dòng (i) ,khi J(i).Value =0

Sub XoaHg_0()
' Macro recorded 8/17/2006 by
Dim jZ As Integer: Dim SHang As String, StrR As String
Const iCuoi = 50
Sheets("S2").Select

For jZ = 2 To iCuoi
StrR = "J" & CStr(jZ): SHang = CStr(jZ) & ":" & CStr(jZ)
If Range(StrR).Value = 0 Then Rows(SHang).Delete
Next jZ
Range("J1").Select
Exit Sub: End Sub
 
Cám ơn HYen "Xóa dòng rỗng"

Cám ơn HYen "Xóa dòng rỗng", không phải lười mà do không biết cách làm nên mới nhờ chỉ giáo. Thường thì tôi bỏ dòng bằng gia công nhưng không Pro lắm (từ khi biết diễn đàn này).
1 lần nữa, thanks very nhiều!
 
Dùng For ... hay ?

Sub xoa()
Dim iZ As Integer
For iZ = 1 To 10
If Range("A" & iZ).Value2 = "0" Then
Rows("0" & iZ).Delete
End If
Next
End Sub
(Tham khảo HYen)

Nếu A1, A3, A5 bằng 0 thì macro trên xóa được
Nhưng giả sử A1,A2,A3 = 0 thì nó phải xóa 3 lần (chạy 3 lần Macro)
Các bạn tìm giúp khi A1=0 thì xóa dòng 1 sau đó skip, dòng 2 có A2=0 lúc này là dòng 1 rồi nên nó chạy luôn.
Các bạn xem lại lênh For .... next giúp nhé! Có thể thay Do while hay Loop?
Cám ơn nhiều!
 
ThuNghi đã viết:
Sub xoa()
Dim iZ As Integer
For iZ = 1 To 10
If Range("A" & iZ).Value2 = "0" Then
Rows("0" & iZ).Delete
End If
Next
End Sub
(Tham khảo HYen)

Nếu A1, A3, A5 bằng 0 thì macro trên xóa được
Nhưng giả sử A1,A2,A3 = 0 thì nó phải xóa 3 lần (chạy 3 lần Macro)
Các bạn tìm giúp khi A1=0 thì xóa dòng 1 sau đó skip, dòng 2 có A2=0 lúc này là dòng 1 rồi nên nó chạy luôn.
Các bạn xem lại lênh For .... next giúp nhé! Có thể thay Do while hay Loop?
Cám ơn nhiều!

Bài toán trên bị sai là đương nhiên rồi.
Bạn làm thêm: Sau khi xóa thì phải thêm iZ=iZ-1 để con trỏ dòng lùi về một dòng (vì sau khi xóa dòng kế sau sẽ lùi về 1 dòng trong khi iZ lại Step 1)

Rows("0" & iZ).Delete
iZ=iZ-1
 
Web KT
Back
Top Bottom