Khi bạn đang làm việc với các bảng dữ liệu chứa thông tin mà bạn đã nhận được từ người khác, bạn có thể muốn cắt bớt lượng dữ liệu trong bảng bằng cách xóa các hàng nếu một điều kiện cụ thể được đáp ứng. Có một số cách bạn có thể tiếp cận một nhiệm vụ như vậy.

Phương pháp đầu tiên là sử dụng tính năng AutoFilter của Excel. Điều này đặc biệt hiệu quả nếu bạn có một tiêu chí khá đơn giản để xóa các hàng. Khi bạn bật Tự động lọc, Excel sẽ đặt các nút kéo xuống ở bên phải của mỗi ô trong hàng tiêu đề của bảng dữ liệu.

Sử dụng các nút kéo xuống này, bạn có thể chỉ định các bản ghi mà bạn muốn hiển thị. Bạn nên chọn một giá trị bộ lọc sẽ dẫn đến việc chỉ hiển thị những hàng bạn muốn xóa. Với những hàng được hiển thị, bạn có thể chọn chúng và sử dụng công cụ ruy-băng để loại bỏ các hàng. Khi bạn tắt Tự động lọc, thì bạn chỉ còn lại những hàng bạn muốn.

Một phương pháp khác liên quan đến việc sử dụng macro để thực hiện việc xóa cho bạn.

Cách tiếp cận này hoạt động tốt nếu bạn phải thực hiện xóa nhiều dữ liệu hoặc nếu bạn thực hiện nó khá thường xuyên. Macro sau có thể xóa các hàng dựa trên giá trị khóa:

Sub DeleteRows()

Dim strToDelete As String     Dim rngSrc As Range     Dim NumRows As Integer     Dim ThisRow As Integer     Dim ThatRow As Integer     Dim ThisCol As Integer     Dim J As Integer     Dim DeletedRows As Integer

strToDelete = InputBox("Value to Trigger Delete?", "Delete Rows")

Set rngSrc = ActiveSheet.Range(ActiveWindow.Selection.Address)



NumRows = rngSrc.Rows.Count     ThisRow = rngSrc.Row     ThatRow = ThisRow + NumRows - 1     ThisCol = rngSrc.Column

For J = ThatRow To ThisRow Step -1         If Cells(J, ThisCol) = strToDelete Then             Rows(J).Select             Selection.Delete Shift:=xlUp             DeletedRows = DeletedRows + 1         End If     Next J     MsgBox "Number of deleted rows: " & DeletedRows End Sub

Để sử dụng macro, hãy chọn phạm vi phạm vi khóa bao gồm các hàng bạn muốn chọn. Ví dụ: nếu khóa cần kiểm tra nằm trong cột G và bạn muốn kiểm tra các hàng từ 5 đến 73, thì bạn sẽ chọn phạm vi G5: G73. Khi bạn chạy macro, nó sẽ hỏi bạn giá trị mà nó nên kiểm tra. Nếu bất kỳ ô nào trong phạm vi G5: G73 chứa giá trị bạn chỉ định, hàng tương ứng cho ô đó sẽ bị xóa.

Rõ ràng là có nhiều cách khác để xóa các hàng dựa trên một giá trị. Để có lựa chọn tốt các phương pháp khác nhau, hãy xem trang này của Dave Hawley tại Ozgrid:

http://www.ozgrid.com/VBA/VBACode.htm

_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 (12256) áp dụng cho Microsoft Excel 2007, 2010, 2013 và 2016.

Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Excel tại đây: