Ai cha... code đâu mà dài thế, xem hỏng nổi... nhưng chạy code xong thì có thể đoán được ý bạn là: "Xét các cell trong cột A tại sheet1, cái nào giống với cột A sheet2 thì copy hết sang sheet3" <--- Đúng không?Các bác kiểm tra code giùm em, đồng thời xem cho em làm cách nào xóa đi những dòng đã dc đánh dấu sau khi chạy macro.
Nếu còn cách nào nhanh so sánh, copy nhanh hơn nữa thì các bác chỉ giùm em nhá.
Sub Copy_Sosanh()
Dim Data As Range, Sosanh As Range
Dim i As Long, j As Long
Set Data = Sheet1.[A1].CurrentRegion
Set Sosanh = Sheet2.[A1].CurrentRegion
j = Data.Count
For i = j To 1 Step -1
If WorksheetFunction.CountIf(Sosanh, Data(i)) Then
Sheet3.Cells(j, "A") = Data(i): j = j - 1
Data(i).EntireRow.Delete
End If
Next
Sheet3.[A1].SpecialCells(4).Delete Shift:=xlUp
End Sub