Loại bỏ các hàng trùng lặp (Microsoft Excel)
Khi bạn đang làm việc với một bảng dữ liệu lớn, không có gì lạ khi bảng chứa thông tin về cơ bản là trùng lặp. Để xử lý thông tin trong bảng, bạn có thể muốn loại bỏ bất kỳ hàng nào mà bạn cho là trùng lặp, do đó cắt giảm lượng thông tin bạn cần xử lý.
Ví dụ, giả sử rằng ô đầu tiên của mỗi hàng chứa một số bộ phận. Điều gì xảy ra nếu bạn muốn xóa bất kỳ hàng nào có số bộ phận trùng lặp trong ô đầu tiên? Nếu bạn cần giải pháp này, macro sau là dành cho bạn:
Sub DelDupRows() Dim rngSrc As Range Dim NumRows As Integer Dim ThisRow As Integer Dim ThatRow As Integer Dim ThisCol As Integer Dim RightCol 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 RightCol = ThisCol + rngSrc.Columns.Count - 1 '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 rows with empty key cells For J = ThatRow To ThisRow Step -1 If Cells(J, ThisCol) = "" Then Range(Cells(J, ThisCol), _ Cells(J, RightCol)).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 xóa các hàng trùng lặp khỏi phạm vi D7: G85, chỉ cần chọn phạm vi đó và sau đó chạy macro. Nó loại bỏ các bản sao khỏi phạm vi D7: D85, và sau đó loại bỏ tất cả các hàng trong D7: G85 (bốn cột mỗi hàng) mà ô trong cột D trống.
_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 (2108) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003.