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.