Giúp em xóa row !

  • Thread starter NHOKLIPICE
  • Ngày gửi

2324 lượt xem

N

NHOKLIPICE

Sơ cấp
26/2/10
19
0
0
37
BH
Em có 3 cột A - B - C
Cột A có các hàng chứa mã hàng ( ex: 06430 - GCE - 001 )
Cột B - C có các giá trị số.

Xin hỏi cách nào nhanh nhất để xóa các hàng khi 2 cột B - C đều là giá trị 0 ( không xóa hàng khi 1 trong 2 cột B hoặc C có giá trị > hoặc = 1)

Xin cảm ơn anh chị rất nhiều !
 
HongViet

HongViet

Thành viên thân thiết
10/11/05
286
10
18
Đà nẵng
Bạn xài macro sau:

Mã:
Option Explicit
[B]Sub DelRowsNoneValue()[/B]
 Dim Clls As Range, dRng As Range
 For Each Clls In Range([A1], [A65500].End(xlUp))
   With Application.WorksheetFunction
      If .Sum(Clls.Offset(, 1).Resize(, 2)) = 0 Then
         If dRng Is Nothing Then
            Set dRng = Clls
         Else
            Set dRng = Union(dRng, Clls)
      End If:           End If
   End With
 Next Clls
 If Not dRng Is Nothing Then dRng.EntireRow.Delete
[B]End Sub[/B]
 
A

atmt17

Sơ cấp
26/9/08
70
1
6
Đồng Nai
Bạn xài macro sau:

Mã:
Option Explicit
[B]Sub DelRowsNoneValue()[/B]
 Dim Clls As Range, dRng As Range
 For Each Clls In Range([A1], [A65500].End(xlUp))
   With Application.WorksheetFunction
      If .Sum(Clls.Offset(, 1).Resize(, 2)) = 0 Then
         If dRng Is Nothing Then
            Set dRng = Clls
         Else
            Set dRng = Union(dRng, Clls)
      End If:           End If
   End With
 Next Clls
 If Not dRng Is Nothing Then dRng.EntireRow.Delete
[B]End Sub[/B]
Dùng code này mà xóa dữ liệu cở 20.000 dòng chắc là mệt chết à nha!
Tốc hành nhất là dùng AutoFilter, và viết code cũng sẽ dựa trên cơ sở này (không dùng vòng lập)
Chẳng hạn là vầy:
Mã:
Sub DelRowsNoneValue()
  Dim Clls As Range, dRng As Range
  Application.ScreenUpdating = False
  With Range([A2], [A65500].End(xlUp)).Resize(, 3)
    .AutoFilter 2, "0": .AutoFilter 3, "0"
    Intersect(.Cells, .Offset(1)).SpecialCells(12).EntireRow.Delete
    .AutoFilter
  End With
  Application.ScreenUpdating = True
End Sub
Tốc độ không nhanh không ăn tiền!
Hãy thử nghiệm tốc độ với file giả lập này!
 
Sửa lần cuối:

Thành viên trực tuyến

  • prokhong5
  • xediengiatot
  • meobeo19911991
  • thiennhan8422
  • hoaithu9x

Xem nhiều