Bỏ qua nội dung chính

Làm thế nào để loại bỏ các hàng dựa trên giá trị ô trong Excel?

Để xóa nhanh hoặc loại bỏ nhiều hàng dựa trên giá trị ô trong Excel, trước tiên bạn có thể cần chọn toàn bộ các hàng có chứa giá trị ô cụ thể, sau đó đi đến loại bỏ chúng. Có vẻ như không có cách nào nhanh chóng để xóa các hàng dựa trên giá trị ô mà sử dụng mã VBA. Dưới đây là một số thủ thuật nhanh chóng để giúp bạn.


Loại bỏ các hàng dựa trên giá trị ô với tính năng Tìm và Thay thế

Trong Excel, bạn có thể áp dụng tính năng Tìm và Thay thế mạnh mẽ để loại bỏ các hàng dựa trên một giá trị ô nhất định một cách dễ dàng. Vui lòng làm như sau:

1. Chọn phạm vi nơi bạn sẽ loại bỏ các hàng dựa trên giá trị ô nhất định và mở hộp thoại Tìm và Thay thế bằng cách nhấn Ctrl + F các phím đồng thời.

2. Trong hộp thoại Tìm và Thay thế, vui lòng nhập giá trị ô nhất định (trong trường hợp của chúng tôi, chúng tôi nhập soe) vào Find what và nhấp vào Find All cái nút. Xem ảnh chụp màn hình đầu tiên bên dưới:

3. Chọn tất cả các kết quả tìm kiếm ở cuối hộp thoại Tìm và Thay thế và đóng hộp thoại này. (Chú thích: Bạn có thể chọn một trong các kết quả tìm kiếm, sau đó Ctrl + A phím để chọn tất cả các kết quả tìm được. Xem ảnh chụp màn hình thứ hai ở trên.)
Và sau đó bạn có thể thấy tất cả các ô chứa giá trị nhất định đã được chọn.

4. Hãy tiếp tục nhấp chuột phải vào các ô đã chọn và chọn Delete từ menu chuột phải. Và sau đó kiểm tra Entire row trong hộp thoại Xóa bật lên và nhấp vào OK cái nút. Bây giờ bạn sẽ thấy tất cả các ô có chứa giá trị nhất định bị loại bỏ. Xem ảnh chụp màn hình bên dưới:

Và sau đó toàn bộ hàng đã bị xóa dựa trên giá trị nhất định đã có.


Loại bỏ các hàng dựa trên giá trị ô với mã VBA

Với mã VBA sau, bạn có thể nhanh chóng xóa các hàng có giá trị ô nhất định, vui lòng thực hiện theo các bước sau:

1. Nhấn nút Alt + F11 chìa khóa cùng một lúc để mở Microsoft Visual Basic for applications cửa sổ,

2. Nhấp chuột Insert > Modulevà nhập mã sau vào Mô-đun:

VBA: Xóa toàn bộ hàng dựa trên giá trị ô

Sub DeleteRows()
'Updateby20211217
Dim rng As Range
Dim InputRng As Range
Dim DeleteRng As Range
Dim DeleteStr As String
Dim xTitleId As String
Dim xArr
Dim xF As Integer
Dim xWSh As Worksheet
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, rng.Address, Type:=8)
If InputRng Is Nothing Then Exit Sub
DeleteStr = Application.InputBox("Delete Text", xTitleId, Type:=2)
Set xWSh = InputRng.Worksheet
For Each rng In InputRng
    If rng.Value = DeleteStr Then
        If DeleteRng Is Nothing Then
            Set DeleteRng = rng
        Else
            Set DeleteRng = Application.Union(DeleteRng, rng)
            Set DeleteRng = DeleteRng.EntireRow
        End If
    End If
Next
xArr = Split(DeleteRng.AddressLocal, ",")
DeleteRng.Select
DeleteRng.Delete
For xF = UBound(xArr) To 0 Step -1
    Set DeleteRng = xWSh.Range(xArr(xF))
    DeleteRng.Delete
Next
End Sub

3. Sau đó nhấp vào Run để chạy mã.

4. Trong hộp thoại bật lên, vui lòng chọn phạm vi nơi bạn sẽ xóa các hàng dựa trên giá trị nhất định và nhấp vào OK .

5. Trong một hộp thoại khác, vui lòng nhập giá trị nhất định mà bạn sẽ loại bỏ các hàng dựa trên và nhấp vào OK cái nút. Xem ảnh chụp màn hình:

Và sau đó bạn sẽ thấy toàn bộ các hàng đã bị xóa dựa trên giá trị được chỉ định.


Xóa các hàng dựa trên một hoặc hai giá trị ô với Kutools for Excel

Nếu bạn đã cài đặt Kutools for ExcelCủa nó, Select Specific Cells tính năng này có thể giúp bạn xóa nhanh các hàng có giá trị cụ thể. Vui lòng làm như sau:

Kutools for Excel - Supercharge Excel với hơn 300 công cụ thiết yếu. Tận hưởng đầy đủ tính năng 30-ngày dùng thử MIỄN PHÍ mà không cần thẻ tín dụng! Get It Now

1. Chọn phạm vi mà bạn sẽ xóa các hàng dựa trên giá trị nhất định và nhấp vào Kutools > Select > Select Specific Cells. Xem ảnh chụp màn hình:

2. Trong hộp thoại Chọn ô được chỉ định mở, vui lòng kiểm tra Entire row tùy chọn, chọn Contains từ Specific type danh sách thả xuống, nhập giá trị được chỉ định vào hộp bên phải và nhấp vào Ok (Xem ảnh chụp màn hình ở trên).
Sau khi áp dụng tính năng này, một hộp thoại sẽ bật ra và cho bạn biết có bao nhiêu ô đã được tìm thấy dựa trên các tiêu chí được chỉ định. Vui lòng nhấp vào OK để đóng nó.

3. Bây giờ toàn bộ các hàng có giá trị nhất định được chọn. Vui lòng nhấp chuột phải vào các hàng đã chọn và nhấp vào Delete từ menu chuột phải. Xem ảnh chụp màn hình bên dưới:

Chú thích: Đây Select Specific Cells tính năng hỗ trợ xóa hàng theo một hoặc hai giá trị nhất định. Để xóa các hàng dựa trên hai giá trị được chỉ định, vui lòng chỉ định một giá trị khác trong Specific type của hộp thoại Chọn ô cụ thể như ảnh chụp màn hình sau:

Kutools for Excel - Supercharge Excel với hơn 300 công cụ thiết yếu. Tận hưởng đầy đủ tính năng 30-ngày dùng thử MIỄN PHÍ mà không cần thẻ tín dụng! Get It Now


Xóa các hàng dựa trên nhiều giá trị ô với Kutools for Excel

Trong một số trường hợp, bạn có thể cần phải xóa các hàng dựa trên nhiều giá trị ô khỏi một cột / danh sách khác trong Excel. Sau đây tôi sẽ giới thiệu Kutools for Excel's Select Same & Different Cells để giải quyết nó một cách nhanh chóng một cách dễ dàng.

Kutools for Excel - Supercharge Excel với hơn 300 công cụ thiết yếu. Tận hưởng đầy đủ tính năng 30-ngày dùng thử MIỄN PHÍ mà không cần thẻ tín dụng! Get It Now

1. Nhấp chuột Kutools > Select > Select Same & Different Cells để mở hộp thoại Chọn ô giống & khác nhau.

2. Trong phần mở đầu Select Same & Different Cells hộp thoại, vui lòng làm như sau (xem ảnh chụp màn hình):

(1) Trong Find values in hãy chọn cột nơi bạn sẽ tìm thấy các giá trị nhất định;
(2) Trong According to , vui lòng chọn cột / danh sách có nhiều giá trị mà bạn sẽ xóa các hàng dựa trên;
(3) Trong Based on , vui lòng kiểm tra Each row Tùy chọn;
(4) Trong Find , vui lòng kiểm tra Same Values Tùy chọn;
(5) Kiểm tra Select entire rows ở cuối hộp thoại mở.
Chú thích: Nếu hai cột được chỉ định chứa cùng một tiêu đề, vui lòng kiểm tra My data has headers tùy chọn.

3. Nhấn vào Ok để áp dụng tiện ích này. Và sau đó một hộp thoại xuất hiện và hiển thị bao nhiêu hàng đã được chọn. Chỉ cần nhấp vào OK để đóng nó.

Và sau đó tất cả các hàng chứa giá trị trong danh sách được chỉ định đã được chọn.

4. Nhấp chuột Home > Delete > Delete Sheet Rows để xóa tất cả các hàng đã chọn.


Demo: loại bỏ các hàng dựa trên một hoặc nhiều giá trị ô trong Excel


Kutools for Excel: Hơn 300 công cụ tiện dụng trong tầm tay bạn! Bắt đầu của bạn 30-ngày dùng thử miễn phí không có giới hạn tính năng ngay hôm nay. Download Now!

Công cụ năng suất văn phòng tốt nhất

Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức hữu ích. Cảm ơn !
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột hữu ích. Cảm ơn !
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

Nâng cao kỹ năng Excel của bạn với Kutools for Excelvà trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel Cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian.  Bấm vào đây để có được tính năng bạn cần nhất...

tab kte 201905


Office Tab Mang giao diện theo thẻ vào Office và giúp công việc của bạn dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
Comments (39)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
In given range, if any cell contains defined text the entire row gets deleted.

Pls share code
This comment was minimized by the moderator on the site
Hi Yogesh,
On this webpage, the second method is to delete rows by cell values with VBA code. You can go to there and copy the code directly!
https://www.extendoffice.com/documents/excel/815-excel-remove-rows-based-on-cell-value.html#vba
This comment was minimized by the moderator on the site
There are two issues with the code posted as of this date. 1) the variable xTitleId is not declared, which causes a compilation error if Option Explicit is in use. 2) With Excel 2016, it appears that a range is limited to 129 areas. Each discontiguous matching cell found in the loop creates another area in the DeleteRng variable. Unfortunately, the Union method does not raise an error if that number of areas is exceeded; it just ignores the remaining cells. When the loop is finished, DeleteRng will have no more than 129 areas.
This comment was minimized by the moderator on the site
Hi TomTheToolman,
Thank you so much for your feedback. I've already updated the new code in the article. If you have any other questions, please don't hesitate to let me know.
Amanda
This comment was minimized by the moderator on the site
very well. Thank you!
This comment was minimized by the moderator on the site
Can someone help me...If 3rd column has value 0, then delete all values of corresponding column 1st. In this case answer should be the last line only.... Check MenuName ID 3149 VNLA MILFLLE 2 3149 TURKEY PNN 0 3149 R. BEEF PNN 0 3149 MIX MOCHA 38 3150 M.G.R 1/2 0 3150 THE PEPPE L 0 3150 MIX SLD 0 3150 EGGPLANT 0 3150 STILL WATER 7 3151 MIX MOCHA 38
This comment was minimized by the moderator on the site
Thanks for sharing. I am actually looking for a code that doesn't ask user for range but instead selects a specific column say column "A" and runs till the last row of that column. Can you please help..
This comment was minimized by the moderator on the site
Hi everybody, I am wondering what can we do to delete the following (According to the example shown in this page): Soe appears at several date (sept, October... etc). What I would like is to delete the line where Soe is but to keep the line with last date she appeared. In addition, some lines could be in double but I still want to keep it. So for example, you have the lines: - July 3 /Soe - Sep 4 / Soe - Sep 4 / Soe - Oct 19/ Soe - Nov 13 / Soe - Nov 13 / Soe and what I want to keep is: - Nov 13 / Soe - Nov 13 / Soe My real case is: I have different EAN code and version 1, 2, 3 or 4 and I want to keep the line where the version is the higher. e.g.: I have: - EAN 1 / Version 1 - EAN 1 / Version 1 - EAN 1 / Version 2 - EAN 1 / Version 2 - EAN 2 / Version 2 - EAN 2 / Version 3 - EAN 2 / Version 3 and I want to keep: - EAN 1 / Version 2 - EAN 1 / Version 2 - EAN 2 / Version 3 - EAN 2 / Version 3 I am searching since hours and I am completely blocked on this issue. Many thanks in advance for your brain and help. Best, Marion
This comment was minimized by the moderator on the site
Hi, Thank you this was really helpful. However, there's an error that pops up when I run the codes it says "Object variable or with block variable not set" and it points to " the line DeleteRNG.EntireRow.Delete". Could you please help me with debugging this. Thanks.
This comment was minimized by the moderator on the site
I am trying to use this macro in order to delete unused formulas, because excel views blank formula cells as a zero value and will print extra pages. I was hoping when I deleted the unused formulas, when I printed it would only print the pages that had information. This is not the case and I really need help to find a solution. I have tried using this formula and it is not working and prints three extra pages that I do not need even with the extra formulas being deleted. Sub selectonly() ' ' selectonly Macro ' Range("A1").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)" End Sub
This comment was minimized by the moderator on the site
thank you so much. That save me a lot of time
This comment was minimized by the moderator on the site
Trying to find a delete Function that will delete entire designated rows automatically, based on certain values or certain text contained in other cell(s), using only automated formulas.
This comment was minimized by the moderator on the site
How can i delete selected cell that i want based on value that i entered for example : A1 B1 C1 D1 A2 B2 C2 D2 A3 B3 C3 D3 A4 B4 C4 D4 When i entered in some cell for example "2" then 2 row will be deleted from A3:D4. If i entered "1" then 1 row will be deleted from A4:D4. if i entered "3" then 3 row will be deleted from A2:D4
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations