Hướng dẫn how do i delete visible filtered rows in excel? - làm cách nào để xóa các hàng đã lọc hiển thị trong excel?
Excel cung cấp một loạt các chức năng, rất nhiều trong số đó hầu hết người dùng thậm chí không biết. Một trong những tính năng hấp dẫn nhất của nó là tính linh hoạt của các bộ lọc. Các bộ lọc Excel cung cấp một cách tuyệt vời để bạn chỉ xem dữ liệu mà bạn cần trong khi giữ các hàng không liên quan. Bằng cách này, bạn có thể tập trung vào dữ liệu cụ thể, mà không có sự lộn xộn. Trong khi vận hành một trong những bộ lọc này, bạn có thể cảm thấy cần phải xóa một số hàng không liên quan này, có thể vì bạn không cần chúng nữa. Ví dụ: trong bộ dữ liệu bên dưới, chúng tôi có dữ liệu về một nhân viên của công ty. Như bạn có thể thấy, một số nhân viên này đã nghỉ hưu, một số vẫn đang phục vụ, trong khi một số trong số họ đang bị quản chế. Bạn có thể không cần thông tin về nhân viên đã nghỉ hưu nữa. Vì vậy, bạn có thể muốn xóa các hàng có chứa thông tin về nhân viên đã nghỉ hưu. Vấn đề là, bạn không muốn tìm kiếm thủ công từng hàng để tìm những thứ có trạng thái việc làm = đã nghỉ hưu. Điều đó đánh bại toàn bộ mục đích của việc sử dụng bảng tính máy tính, phải không? Giải pháp tốt nhất là sử dụng các bộ lọc để giúp bạn trong quá trình này. Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách xóa các hàng được lọc trong Excel. Chúng tôi sẽ chỉ cho bạn cách xóa cả hai hàng có thể nhìn thấy sau khi bạn áp dụng bộ lọc, cũng như các hàng vô hình. Nếu bạn muốn mã hóa và muốn tăng tốc các quy trình Excel của bạn bằng mã VBA, chúng tôi có một vài đoạn mã mà bạn cũng có thể sử dụng. Nhấn vào đây để tải xuống tệp ví dụ và theo dõi
Xóa các hàng được lọc có thể nhìn thấyXóa các hàng được lọc có thể nhìn thấy bằng VBA
Bạn sẽ nhận thấy các mũi tên nhỏ trên mọi ô của hàng tiêu đề. Chúng có nghĩa là để giúp bạn lọc các ô của bạn. Bạn có thể nhấp vào bất kỳ mũi tên nào để chọn bộ lọc cho cột tương ứng. Xóa các hàng được lọc có thể nhìn thấy bằng VBAXóa các hàng được lọc được ẩn Sub DeleteVisibleRows() Dim Rng As Range Set Rng = Selection Rng.AutoFilter Field:=5, Criteria1:="Retired" Rng.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete ActiveSheet.AutoFilterMode = False End Sub
Đối với vấn đề trên, bạn có thể lọc các hàng mà bạn không cần và sau đó xóa các hàng này. Đây là cách: làm thế nào:
Bấm OK. Bây giờ bạn sẽ chỉ thấy các hàng có tình trạng việc làm đã nghỉ hưu. Xóa các hàng được lọc được ẩnXóa các hàng ẩn bằng tính năng tài liệu kiểm tra Giả sử, bạn chỉ muốn chi tiết của nhân viên bán hàng vẫn đang phục vụ hoặc quản chế. Khi bạn có các bộ lọc phức tạp hơn, người ta thường muốn xóa các hàng không đủ điều kiện, thay vì các bộ phận đủ điều kiện. Nói cách khác, người ta muốn xóa các hàng được ẩn sau khi lọc. Chúng ta hãy sử dụng cùng một bộ dữ liệu mà chúng ta đã sử dụng trước đây và lần này, áp dụng hai bộ lọc - một để xóa các hàng có trạng thái việc làm = đã nghỉ hưu và một hàng khác để loại bỏ bất kỳ hàng nào không chứa bộ phận = Sales Sales Ở đây, quá trình lọc trước tiên:
Bây giờ là lúc để xóa các hàng ẩn. Có ba cách để làm điều này. Xóa các hàng ẩn bằng tính năng tài liệu kiểm traNếu bạn chắc chắn rằng bạn sẽ không bao giờ cần phải làm việc với dữ liệu ẩn nữa, thì phương pháp này có thể hoạt động cho bạn:
Bạn sẽ thấy rằng ngay cả sau khi tất cả các bộ lọc được gỡ bỏ, bạn chỉ còn lại các hàng yêu cầu của mình. Tất cả các hàng khác đã bị xóa. Xóa các hàng ẩn bằng cách tạo một cột tạm thờiNếu bạn không thực sự muốn bận tâm đến việc tạo sao lưu hoặc lo lắng về việc thực hiện các thay đổi vĩnh viễn cho các tờ khác trong bảng tính của bạn, thì đây là một cách khác (nhiều mẹo hơn) để loại bỏ các hàng ẩn của bạn:
Bây giờ bạn nên chỉ còn lại với các hàng yêu cầu của bạn. Xóa các hàng được lọc được ẩn bằng VBAMột lần nữa, ở đây, một cách nhanh hơn để hoàn thành nhiệm vụ trên. Bạn sẽ tìm thấy bên dưới một tập lệnh ngắn mà bạn có thể sao chép, tùy chỉnh và sử dụng: Sub KeepVisibleRows() Dim myUnion As Range Dim myRow As Range Dim Rng As Range Set Rng = Selection Rng.AutoFilter Field:=4, Criteria1:="Sales" Rng.AutoFilter Field:=5, Criteria1:="<>Retired" ForEach myRow In Rng.Rows If myRow.Hidden Then If Not myUnion IsNothingThen Set myUnion = Union(myUnion, myRow) Else Set myUnion = myRow EndIf EndIf Next myUnion.Delete ActiveSheet.AutoFilterMode = False End Sub Thực hiện theo các bước sau để sử dụng mã trên:
Ở đây, một lời giải thích về mã:
Lưu ý: Như đã đề cập trước đây, bạn có thể thay đổi dòng 6 và 7 để phù hợp với tiêu chí lọc của riêng bạn. Nếu bạn có nhiều tiêu chí, bạn có thể lặp lại các dòng này cho từng tiêu chí. Sự kết luậnTrong hướng dẫn này, chúng tôi đã chỉ cho bạn hai cách để xóa các hàng có thể nhìn thấy sau khi áp dụng các bộ lọc cho chúng và ba cách để xóa các hàng ẩn sau khi áp dụng các bộ lọc. Chúng tôi cũng đã cung cấp các tập lệnh VBA ngắn để giúp bạn hoàn thành công việc nhanh hơn nếu bạn cảm thấy tự tin khi sử dụng các tập lệnh. Chúng tôi hy vọng bạn tìm thấy hướng dẫn này hữu ích. Hãy cho chúng tôi biết trong các ý kiến nếu bạn phải đối mặt với bất kỳ vấn đề nào trong khi làm theo bất kỳ bước nào. Các hướng dẫn Excel khác mà bạn có thể thấy hữu ích:
|