Lọc những dữ liệu theo list cho trước (1 người xem)

Liên hệ QC

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

huhumalu

Thành viên tích cực
Tham gia
20/10/09
Bài viết
825
Được thích
782
Nhờ anh em trong diễn đàn xử lý giúp:
Mình có 1 sheet dữ liệu (Sheet1) và và muốn lọc bỏ những dữ liệu kg nằm trong danh sách nằm ở cột A (Sheet2); Mình có viết một đoạn để lọc, nhưng chuối quá vì khi có khối lượng lớn nó chạy rất chậm và đơ máy và mình cũng không nắm rõ nó có hiệu quả không.
Nhờ anh em xem qua file tính và góp ý hoàn thiện giúp.
Cảm ơn nhiều !
 

File đính kèm

Nhờ anh em trong diễn đàn xử lý giúp:
Mình có 1 sheet dữ liệu (Sheet1) và và muốn lọc bỏ những dữ liệu kg nằm trong danh sách nằm ở cột A (Sheet2); Mình có viết một đoạn để lọc, nhưng chuối quá vì khi có khối lượng lớn nó chạy rất chậm và đơ máy và mình cũng không nắm rõ nó có hiệu quả không.
Nhờ anh em xem qua file tính và góp ý hoàn thiện giúp.
Cảm ơn nhiều !

bấm nút cái treo máy luôn . hic
 
Upvote 0
Nhờ anh em trong diễn đàn xử lý giúp:
Mình có 1 sheet dữ liệu (Sheet1) và và muốn lọc bỏ những dữ liệu kg nằm trong danh sách nằm ở cột A (Sheet2); Mình có viết một đoạn để lọc, nhưng chuối quá vì khi có khối lượng lớn nó chạy rất chậm và đơ máy và mình cũng không nắm rõ nó có hiệu quả không.
Nhờ anh em xem qua file tính và góp ý hoàn thiện giúp.
Cảm ơn nhiều !

Theo như mô tả thì bạn chỉ giữ lại những phần tử vừa có trong cột A sheet1, vừa có trong cột A sheet2, đúng không?
Nhưng theo dữ liệu thật của bạn mà tôi vừa mở xem thì chẳng có cái nào trùng giữa 2 sheet cả ---> Dẫn đến sẽ xóa sạch toàn bộ
 
Upvote 0
Theo như mô tả thì bạn chỉ giữ lại những phần tử vừa có trong cột A sheet1, vừa có trong cột A sheet2, đúng không?
Nhưng theo dữ liệu thật của bạn mà tôi vừa mở xem thì chẳng có cái nào trùng giữa 2 sheet cả ---> Dẫn đến sẽ xóa sạch toàn bộ
Dạ, do file nặng nên em xóa mà kg để ý, em có ý dùng array mà bây giờ chỉnh một chập nó thành lặp vô tận, chạy không chính xác nữa a.
PHP:
Sub Main()
Dim i, iR As Long, j As Long
Sheets("Sheet2").Select
Dim dontDelete
dontDelete = WorksheetFunction.Transpose(Range("A1:A20"))
Sheets("Sheet1").Select
Dim Data
iR = Range("A2").End(xlDown).Rows
Data = WorksheetFunction.Transpose(Range("A2:A" & iR))
For i = LBound(Data) To UBound(Data)
    For j = LBound(dontDelete) To UBound(dontDelete)
        If Data(i) <> dontDelete(j) Then
            Range("A2").Offset(i - 1, 0).EntireRow.Delete
        End If
    Next j
Next i
End Sub
 
Upvote 0
Anh em nào giúp dùm mình với. Mấy bữa nay là đủ kiểu mà cẫn chưa làm ra được. Thanks !
PHP:
Sub Main()
Dim i, iR As Long, j As Long
Sheets("Sheet2").Select
Dim dontDelete
dontDelete = WorksheetFunction.Transpose(Range("A1:A20"))
Sheets("Sheet1").Select
Dim Data
iR = Range("A2").End(xlDown).Rows
Data = WorksheetFunction.Transpose(Range("A2:A" & iR))
For i = LBound(Data) To UBound(Data)
    For j = LBound(dontDelete) To UBound(dontDelete)
        If Data(i) <> dontDelete(j) Then
            Range("A2").Offset(i - 1, 0).EntireRow.Delete
        End If
    Next j
Next i
End Sub
[/QUOTE]
 
Upvote 0
Web KT

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

Back
Top Bottom