Hướng dẫn delete rows in excel vba based on criteria - xóa các hàng trong excel vba dựa trên tiêu chí

Trong khi làm việc trong Excel, bạn có thể sử dụng một macro để xóa các hàng dựa trên các tiêu chí. Hôm nay tôi sẽ chỉ cho bạn cách bạn có thể sử dụng một macro để xóa các hàng dựa trên các tiêu chí trong Excel với hình minh họa thích hợp.Macro to delete rows based on criteria. Today I’ll show you how you can use a Macro to delete rows based on criteria in Excel with proper illustrations.


Tải xuống Sổ làm việc thực hành


3 cách sử dụng macro để xóa các hàng dựa trên các tiêu chí trong Excel

Ở đây, chúng tôi đã có một bộ dữ liệu với tên của một số học sinh và điểm số và điểm số của họ bằng tiếng Anh của một trường tên là Mẫu giáo hướng dương.Names of some students and their Marks and Grades in English of a school called Sunflower Kindergarten.

Hướng dẫn delete rows in excel vba based on criteria - xóa các hàng trong excel vba dựa trên tiêu chí


1. Sử dụng macro để xóa các hàng dựa trên lớn hơn hoặc bằng các tiêu chí trong Excelin Excel

Bạn có thể sử dụng một macro để xóa các hàng trong Excel dựa trên các tiêu chí lớn hơn hoặc bằng giá trị.use a macro to delete rows in Excel based on criteria greater than or equal to a value.

Hãy để tạo ra một macro sẽ xóa tất cả các hàng với các sinh viên có ít hơn 40.

Bước 1:

Nhấn Alt+F11 trên bàn phím của bạn. Cửa sổ VBA sẽ mở. Press ALT+F11 on your keyboard. The VBA window will open.

Hướng dẫn delete rows in excel vba based on criteria - xóa các hàng trong excel vba dựa trên tiêu chí

Bước 2:

Chuyển đến tab Chèn trong cửa sổ VBA. & NBSP; Go to the Insert tab in the VBA window. 

Từ các tùy chọn có sẵn, chọn Mô -đun. From the options available, select Module.

Hướng dẫn delete rows in excel vba based on criteria - xóa các hàng trong excel vba dựa trên tiêu chí

Bước 3:

Một cửa sổ mô -đun mới có tên là Mô -đun 1 1 sẽ mở. & NBSP; A new module window called “Module 1” will open. 

Chèn mã VBA sau vào mô -đun. Insert the following VBA code in the module.

Code:

Sub Delete_Rows()
For i = 1 To Selection.Rows.Count
    For j = 1 To Selection.Rows.Count
        If Selection.Cells(j, 2) < 40 Then
            Rows(j + 3).EntireRow.Delete
        End If
    Next j
Next i
End Sub

Notes:

  • Mã này tạo ra một macro có tên Delete_Rows.Macro called Delete_Rows.
  • Trong dòng thứ 4 của mã, chúng tôi đã sử dụng các ô (J, 2) vì 2 là số cột của bộ dữ liệu của tôi chứa các tiêu chí (điểm bằng tiếng Anh).4th line of the code, we have used Cells(j,2) because 2 is the column number of my data set which holds the criteria (Marks in English).
  • <40 is my given condition (Who got marks less than 40).
  • Trong dòng thứ 5, chúng tôi đã sử dụng các hàng (J+3) vì 3 là số lượng hàng trong bảng tính của tôi ngay trước hàng đầu tiên của tập dữ liệu (với các tiêu đề cột).5th line, we have used Rows(j+3) because 3 is the number of rows in my worksheet just before the first row of the data set (with the Column Headers).
  • Bạn thay đổi các giá trị này theo bộ dữ liệu và điều kiện của bạn.

Hướng dẫn delete rows in excel vba based on criteria - xóa các hàng trong excel vba dựa trên tiêu chí

Bước 4:

Lưu sổ làm việc dưới dạng sổ làm việc hỗ trợ macro Excel. Save the workbook as Excel Macro-Enabled Workbook.

Hướng dẫn delete rows in excel vba based on criteria - xóa các hàng trong excel vba dựa trên tiêu chí

Bước 5:

Quay trở lại bảng tính của bạn Chọn bộ dữ liệu (không có tiêu đề cột). Return to your worksheet select the data set (Without the Column Headers).

Hướng dẫn delete rows in excel vba based on criteria - xóa các hàng trong excel vba dựa trên tiêu chí

Bước 6:

Nhấn Alt+F8 trên bàn phím của bạn.ALT+F8 on your keyboard.

Một hộp thoại có tên Macro sẽ mở. Chọn Delete_Rows và nhấp vào chạy.Macro will open. Select Delete_Rows and click on Run.

Hướng dẫn delete rows in excel vba based on criteria - xóa các hàng trong excel vba dựa trên tiêu chí

Bước 7:

Bạn sẽ tìm thấy các hàng có dấu tự động nhỏ hơn 40. You will find the rows having marks less than 40 deleted automatically.

Hướng dẫn delete rows in excel vba based on criteria - xóa các hàng trong excel vba dựa trên tiêu chí

Notes:

  • Bạn cũng có thể sử dụng mã này để so sánh các giá trị văn bản.
  • Ví dụ: để loại bỏ các học sinh có A+ ở lớp, hãy thay thế dòng thứ 4 bằng if select.cells (j, 3) = Hồi A+, sau đóA+ in grades, replace the 4th line with If Selection.Cells(j, 3) = “A+” Then
  • Ở đây chúng tôi sẽ sử dụng các ô (j, 3) vì tiêu chí hiện nằm trong cột thứ 3 (lớp).Cells(j,3) because the criterion is now in the 3rd column (Grades).

Hướng dẫn delete rows in excel vba based on criteria - xóa các hàng trong excel vba dựa trên tiêu chí

Và đầu ra sẽ là:

Hướng dẫn delete rows in excel vba based on criteria - xóa các hàng trong excel vba dựa trên tiêu chí

Đọc thêm: Macro VBA để xóa hàng nếu ô chứa giá trị trong excel VBA Macro to Delete Row if Cell Contains Value in Excel


2. Nhúng macro VBA để xóa các hàng tùy thuộc vào tiêu chí bắt đầu với một ký tự cụ thể

Bạn có thể sử dụng macro để xóa các hàng trong Excel có giá trị văn bản bắt đầu bằng một ký tự cụ thể.

Ví dụ, hãy để Lôi cố gắng xóa các hàng có tên sinh viên bắt đầu bằng cách A A.“A”.

Các bước đều tương tự như các bước của phương pháp 1.

Chỉ trong Bước 3, hãy thay thế mã VBA trước đó bằng mã này:Step 3, replace the previous VBA code with this code:

Code:

Sub Delete_Rows_Starting_with_A()
For i = 1 To Selection.Rows.Count
    For j = 1 To Selection.Rows.Count
        If Left(Selection.Cells(j, 1), 1) = "A" Then
            Rows(j + 3).EntireRow.Delete
        End If
    Next j
Next i
End Sub

Notes:

  • Mã này tạo ra một macro có tên DELETE_ROWS_STARTING_WITH_A.Delete_Rows_Starting_with_A.
  • Trong dòng thứ 4 của mã, chúng tôi đã sử dụng các ô (J, 1), vì tiêu chí nằm trong cột thứ nhất (tên sinh viên) của tập dữ liệu.4th line of the code, we have used Cells(j,1), because the criterion is in the 1st column (Student Name) of the data set.
  • Nếu nó nằm trong cột thứ hai, hãy sử dụng các ô (J, 2). Tương tự đối với cột thứ 3, sử dụng các ô (J, 3), v.v.Cells (j,2). Similarly for the 3rd column, use Cells(j,3), and so on.
  • Và để xóa các hàng với các tên bắt đầu bằng bất cứ thứ gì khác ngoài một A, hãy thay đổi nó trong dòng thứ 4.“A”, change it in the 4th line.

Hướng dẫn delete rows in excel vba based on criteria - xóa các hàng trong excel vba dựa trên tiêu chí

Cuối cùng, hãy chạy macro này trên bộ dữ liệu của bạn sau các bước 5, 6 và 7 của phương pháp 1.Macro on your data set following steps 5, 6, and 7 of method 1.

Bạn sẽ tìm thấy tất cả các hàng có tên sinh viên bắt đầu bằng cách tự động sẽ bị xóa.“A” will be deleted automatically.

Hướng dẫn delete rows in excel vba based on criteria - xóa các hàng trong excel vba dựa trên tiêu chí


3. Chèn một macro để xóa các hàng dựa trên một văn bản cụ thể trong Excelin Excel

Bạn cũng có thể sử dụng các hàng xóa macroto có giá trị văn bản cụ thể.use a Macroto delete rows having a specific text value.

Nhìn vào bộ dữ liệu mới này. Chúng tôi có tên của một số cuốn sách và giá của một cửa hàng sách tên là Martin Bookstore.Names of some books and the Prices of a bookshop called Martin Bookstore.

Hướng dẫn delete rows in excel vba based on criteria - xóa các hàng trong excel vba dựa trên tiêu chí

Hãy cùng cố gắng xóa tất cả các hàng có từ Lịch sử Lịch sử trong tên sách.“History” in the book name.

Các bước đều tương tự như các bước của phương pháp 1.

Chỉ trong Bước 3, hãy thay thế mã VBA trước đó bằng mã này:Step 3, replace the previous VBA code with this code:

Code:

Sub Delete_Rows_with_History()
Dim Count As Integer
For i = 1 To Selection.Rows.Count
    For j = 1 To Selection.Rows.Count
        Count = 0
        Words = Split(Selection.Cells(j, 1))
        For Each k In Words
            Lower=LCase(k)
            If k = "history" Then
                Count = Count + 1
            End If
        Next k
        If Count > 0 Then
            Rows(j + 3).EntireRow.Delete
        End If
    Next j
Next i
End Sub

Notes:

  • Mã này tạo ra một macro có tên DELETE_ROWS_STARTING_WITH_A.Delete_Rows_with_History.
  • Trong dòng thứ 4 của mã, chúng tôi đã sử dụng các ô (J, 1), vì tiêu chí nằm trong cột thứ nhất (tên sinh viên) của tập dữ liệu.6th line of the code, we have used Cells(j,1), because the criterion is in the 1st column (Name of the Book) of the data set.
  • Nếu nó nằm trong cột thứ hai, hãy sử dụng các ô (J, 2). Tương tự đối với cột thứ 3, sử dụng các ô (J, 3), v.v.Cells (j,2). Similarly for the 3rd column, use Cells(j,3), and so on.
  • Và để xóa các hàng với các tên bắt đầu bằng bất cứ thứ gì khác ngoài một A, hãy thay đổi nó trong dòng thứ 4.“history”, replace it in the 6th line.
  • Cuối cùng, hãy chạy macro này trên bộ dữ liệu của bạn sau các bước 5, 6 và 7 của phương pháp 1.“Book”, always use “book” in the code.

Hướng dẫn delete rows in excel vba based on criteria - xóa các hàng trong excel vba dựa trên tiêu chí

Cuối cùng, hãy chạy macro này trên bộ dữ liệu của bạn sau các bước 5, 6 và 7 của phương pháp 1.Macro on your data set following steps 5, 6, and 7 of method 1.

Bạn sẽ tìm thấy tất cả các hàng có tên sinh viên bắt đầu bằng cách tự động sẽ bị xóa.“History” or “history”  in the book names will be deleted automatically.

Hướng dẫn delete rows in excel vba based on criteria - xóa các hàng trong excel vba dựa trên tiêu chí


3. Chèn một macro để xóa các hàng dựa trên một văn bản cụ thể trong Excel

Bạn cũng có thể sử dụng các hàng xóa macroto có giá trị văn bản cụ thể.Macro. Do you have any questions? Feel free to ask us.


  • Nhìn vào bộ dữ liệu mới này. Chúng tôi có tên của một số cuốn sách và giá của một cửa hàng sách tên là Martin Bookstore.
  • Hãy cùng cố gắng xóa tất cả các hàng có từ Lịch sử Lịch sử trong tên sách.
  • Xóa hàng trong Excel: 7 Phương pháp
  • Cách xóa các hàng đã chọn trong Excel (8 cách tiếp cận)
  • Cách xóa nhiều hàng trong Excel với điều kiện (3 cách)
  • Cách sử dụng VBA để xóa các hàng trống trong Excel

Làm thế nào để xóa các hàng dựa trên các tiêu chí trong Excel?

Cách sử dụng macro để xóa các hàng dựa trên các tiêu chí trong Excel (3 cách) 6. Tháo hàng cuối cùng dựa trên cột Chúng tôi muốn xóa hàng cuối cùng dựa trên cột. Thực hiện theo các bước tiếp theo cho điều đó. Sao chép và dán mã sau trên mô -đun. Sub Delete_Rows_8 () CELL (ROWS.COUNT, 2) .END (XLUP) .Entirerow.Delete End Sub Hit F5 để chạy mã.

Làm thế nào để xóa tất cả các hàng trong Excel VBA?

Một điều cần ghi nhớ là các hàng đáy cần phải xóa trước. Sau đó đi về phía các hàng trên cùng. Chúng ta có thể sử dụng chức năng phạm vi thay vì hàm hàng trong mã VBA. Thực hiện theo các bước tiếp theo cho điều đó. Sao chép và dán mã sau trên mô -đun lệnh. Sub Delete_Rows_3 () Phạm vi ("B6"). Entirerow.Delete End Sub Sub

Làm thế nào để xóa các hàng dựa trên khu vực trong Excel?

Xóa các hàng dựa trên vùng trong Excel 1 Chọn bất kỳ ô nào trong tập dữ liệu mà bạn muốn xóa các hàng 2 Nhấp vào Tab Data 3 trong nhóm 'Sắp xếp & Bộ lọc', nhấp vào biểu tượng bộ lọc ... 4 Nhấp vào Biểu tượng bộ lọc trong ô tiêu đề khu vực (đây là biểu tượng hình tam giác hướng xuống nhỏ ở phía trên bên phải của ô) xem thêm ....

Làm thế nào để xóa tất cả các ô có thể nhìn thấy trong phạm vi?

Quá trình tổng thể là hai bước đơn giản: 1 Bước đầu tiên là lọc các hàng dựa trên tiêu chí lọc để các giá trị bị xóa. 2 Sau đó, macro xóa các ô có thể nhìn thấy trong phạm vi. Hơn ...

Làm cách nào để xóa các hàng trong Excel với các tiêu chí cụ thể?

Đi trước để nhấp chuột phải vào các ô đã chọn và chọn Xóa từ menu nhấp chuột phải. Và sau đó kiểm tra toàn bộ tùy chọn hàng trong hộp thoại Xóa bật lên và nhấp vào nút OK.Bây giờ bạn sẽ thấy tất cả các ô chứa giá trị nhất định đã bị loại bỏ.right click selected cells and select the Delete from the right-clicking menu. And then check the Entire row option in the popping up Delete dialog box, and click the OK button. Now you will see all the cells containing the certain value are removed.

Làm thế nào để bạn xóa tất cả các hàng sau một hàng nhất định trong Excel VBA?

Để xóa toàn bộ hàng trong Excel bằng VBA, bạn cần sử dụng phương thức Entirerow.Delete.Mã trên trước tiên chỉ định hàng cần bị xóa (được thực hiện bằng cách chỉ định số trong khung) và sau đó sử dụng Entirerow.Xóa phương thức để xóa nó.use the EntireRow. Delete method. The above code first specifies the row that needs to be deleted (which is done by specifying the number in bracket) and then uses the EntireRow. Delete method to delete it.

Bạn có thể tạo một macro để xóa hàng trong excel không?

Bằng cách sử dụng sức mạnh của các macro Excel, bạn có thể tự động hóa quy trình để Excel sẽ loại bỏ bất kỳ và tất cả các hàng được gắn cờ ngay lập tức.Hãy lấy một ví dụ trong thế giới thực.. Let's take a real-world example.