Loại bỏ các ô trùng lặp (Microsoft Excel)
Tôi không thể cho bạn biết số lần tôi nhận được dữ liệu thô từ một số chương trình hoặc từ một số người, và điều đầu tiên tôi cần làm là xóa các bản sao khỏi danh sách. Nếu bạn thấy mình trong tình huống tương tự, macro sau sẽ giúp ích rất nhiều:
Sub DelDups() Dim rngSrc As Range Dim NumRows As Integer Dim ThisRow As Integer Dim ThatRow As Integer Dim ThisCol As Integer Dim J As Integer, K As Integer Application.ScreenUpdating = False Set rngSrc = ActiveSheet.Range(ActiveWindow.Selection.Address) NumRows = rngSrc.Rows.Count ThisRow = rngSrc.Row ThatRow = ThisRow + NumRows - 1 ThisCol = rngSrc.Column 'Start wiping out duplicates For J = ThisRow To (ThatRow - 1) If Cells(J, ThisCol) > "" Then For K = (J + 1) To ThatRow If Cells(J, ThisCol) = Cells(K, ThisCol) Then Cells(K, ThisCol) = "" End If Next K End If Next J 'Remove cells that are empty For J = ThatRow To ThisRow Step -1 If Cells(J, ThisCol) = "" Then Cells(J, ThisCol).Delete xlShiftUp End If Next J Application.ScreenUpdating = True End Sub
Macro hoạt động trên một lựa chọn bạn thực hiện trước khi gọi nó. Do đó, nếu bạn cần loại bỏ các ô trùng lặp khỏi phạm vi C15: C59, chỉ cần chọn phạm vi đó và sau đó chạy macro. Nếu bạn chọn nhiều hơn một cột trong phạm vi (ví dụ: C15: E59), thì chỉ cột đầu tiên trong phạm vi bị ảnh hưởng. Khi macro hoàn tất, các ô trùng lặp sẽ bị loại bỏ, cũng như bất kỳ ô trống nào.
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (2109) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003.