[Nhờ giúp đỡ] - Delete những row có giá trị Qty = 0

  • Thread starter Thread starter Kiet072
  • Ngày gửi Ngày gửi
Liên hệ QC

Kiet072

Thành viên mới
Tham gia
22/11/10
Bài viết
10
Được thích
2
Chào các bạn,

Tôi có 1 file excel trong đó có 3 cột: Item, Date, Qty

Tôi muốn dòng nào mà qty = 0 thì delete dòng này luôn

Tôi suy nghĩ hoài mà ko tìm được cách nào vừa nhanh vừa dể

=> nhờ các bạn nghiên cứu giúp

Cám ơn các bạn nhiều
 

File đính kèm

Chào các bạn,

Tôi có 1 file excel trong đó có 3 cột: Item, Date, Qty

Tôi muốn dòng nào mà qty = 0 thì delete dòng này luôn

Tôi suy nghĩ hoài mà ko tìm được cách nào vừa nhanh vừa dể

=> nhờ các bạn nghiên cứu giúp

Cám ơn các bạn nhiều
Nhanh và dễ, có ngay: AutoFilter/ chọn =0, bôi đen kết quả, chọn delete dòng, xong.
 
Upvote 0
Chào các bạn,

Tôi có 1 file excel trong đó có 3 cột: Item, Date, Qty

Tôi muốn dòng nào mà qty = 0 thì delete dòng này luôn

Tôi suy nghĩ hoài mà ko tìm được cách nào vừa nhanh vừa dể

=> nhờ các bạn nghiên cứu giúp

Cám ơn các bạn nhiều
Bạn làm một cột phụ, đánh số thứ tự các dòng. Sau đó sort giảm dần theo Qty (sort luôn cả cột phụ). Xóa hết các dòng có Qty = 0 bên dưới rồi sort lại theo cột phụ.
 
Upvote 0
cám ơn bạn,

Đã nghiên cứu theo cách của bạn, nhưng làm cách nào để viết lệnh cho macro. Ví dụ file đính kèm dòng 242 = 0, thì auto fillter => chọn từ dòng 242 đến cuối => delete

nhưng nếu bảng dữ liệu khác đi một tí. Ví dụ dòng 200 thì làm thế nào bạn?

Nhờ bạn hướng dẫn giúp

Cám ơn bạn nhiều
 
Upvote 0
Bạn làm một cột phụ, đánh số thứ tự các dòng. Sau đó sort giảm dần theo Qty (sort luôn cả cột phụ). Xóa hết các dòng có Qty = 0 bên dưới rồi sort lại theo cột phụ.

Không hiểu cách của bạn lắm! Bạn có thể giải thích cụ thể hơn không? Cám ơn bạn
 
Upvote 0
Làm như theo hướng dẫn của anh bebo021999 la OK.
 
Upvote 0
Làm như theo hướng dẫn của anh bebo021999 la OK.


Theo tinh thần bạn bebo021999

Tôi đã viết macro và giải quyết được như sau:

Sub Delete_rows()
Columns("A:C").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$C$5125").AutoFilter Field:=3, Criteria1:="0"
'==============
Range("A1:C1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.EntireRow.Delete
End Sub

Cám ơn các bạn rất nhiều
 
Upvote 0
Cách này hay mà vẫn giữ nguyên vị trì, bạn thử nha:

Sub Delete_row(cot)
Dim i
i=1
'Cho i gán bằng 1, dòng đầu tiên
Do While i<=Sheet1.[A6500].End(xlUp).Row 'Nếu i chưa đến dòng cuối thì vẫn làm
If sheet1.Cell(i,cot)=0 then 'Nếu ở dòng thứ i của cột "cot" mà bằng 0 thì xóa dòng đó
Sheet1.Row(i & ":" & i).Delete Shift:=xlUp
Else
i=i+1 'Nếu không bằng 0 thì tăng i lên
End If
Loop
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom