Hướng dẫn excel macro delete row if cell contains value - macro excel xóa hàng nếu ô chứa giá trị

Đôi khi chúng ta cần loại bỏ toàn bộ một hàng cụ thể khỏi một bộ dữ liệu khổng lồ của các hàng trong Excel. Khi các ô trong bộ dữ liệu mang các giá trị, thì chúng ta nên thực sự cẩn thận trước khi xóa chúng. Triển khai Macro VBA là phương pháp hiệu quả nhất, nhanh nhất và an toàn nhất để chạy bất kỳ hoạt động nào trong Excel. Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách xóa toàn bộ hàng dựa trên một giá trị ô cụ thể trong Excel sử dụng macro VBA.remove an entire specific row from a huge dataset of rows in Excel. When the cells in the dataset are carrying values, then we should be really careful before deleting them. Implementing VBA macro is the most effective, quickest and safest method to run any operation in Excel. In this article, we will show you how to delete an entire row based on a specific cell value in Excel utilizing the VBA macro.

Tải xuống mẫu thực hành

Bạn có thể tải xuống mẫu Excel thực hành miễn phí từ đây.

3 Phương pháp triển khai VBA để xóa toàn bộ hàng dựa trên giá trị ô trong Excel

Trong phần này, chúng tôi sẽ chỉ cho bạn cách xóa toàn bộ hàng chứa các giá trị cụ thể từ bảng tính Excel bằng VBA. Nhưng trước đó, chúng ta hãy hiểu cú pháp trước.how to delete an entire row containing specific values from the Excel worksheet using VBA. But before that, let us understand the syntax first.

Cú pháp VBA để xóa các hàng dựa trên các giá trị ô khỏi bảng tính Excel,VBA syntax to delete rows based on cell values from the Excel worksheet,

If Then Rows[“[Row_Numbers]”].EntireRow.Delete

Here,

Row_numbers đề cập đến các số hàng để xóa, refers to the row numbers to delete,

Xóa phương thức như một đối tượng của các hàng và method as an object of Rows and

Entirerow.Delete xác định một phương thức sẽ xóa toàn bộ hàng khỏi bộ dữ liệu. defines a method that will delete the entire row from the dataset.

Và bây giờ chúng tôi sẽ chỉ cho bạn cách xóa toàn bộ hàng nếu ô chứa giá trị văn bản cụ thể, giá trị số hoặc giá trị trống trong Excel bằng cách triển khai macro VBA.VBA macro.

1. Nhúng VBA để xóa toàn bộ hàng nếu ô chứa giá trị văn bản cụ thể trong Excel

Hãy xem xét bộ dữ liệu sau đây từ nơi chúng tôi muốn xóa toàn bộ bản ghi của tên là Ron Ron.

Các bước để xóa toàn bộ hàng của Ron Ron bởi VBA được đưa ra dưới đây.VBA are given below.

Steps:

  • Nhấn Alt + F11 trên bàn phím của bạn hoặc truy cập Nhà phát triển Tab -> Visual Basic để mở Trình chỉnh sửa Visual Basic.Alt + F11 on your keyboard or go to the tab Developer -> Visual Basic to open Visual Basic Editor.

  • Trong cửa sổ mã bật lên, từ thanh menu, nhấp vào Chèn -> Mô -đun.Insert -> Module.

  • Sao chép mã sau và dán vào cửa sổ mã.
Sub Delete_Row_Cell_Contains_Text[]
Dim Row As Long
Dim i As Long
Row = 15
For i = Row To 1 Step -1
If Cells[i, 1] = "Ron" Then
Rows[i].Delete
End If
Next
End Sub

Mã của bạn hiện đã sẵn sàng để chạy.

  • Nhấn F5 trên bàn phím của bạn hoặc từ thanh menu Chọn chạy -> Chạy Sub/Userform. Bạn cũng có thể chỉ cần nhấp vào biểu tượng chơi nhỏ trong thanh phụ để chạy macro. F5 on your keyboard or from the menu bar select Run -> Run Sub/UserForm. You can also just click on the small Play icon in the sub-menu bar to run the macro.

Bạn sẽ nhận thấy rằng toàn bộ hàng của Ron Ron đã bị xóa khỏi bộ dữ liệu.

Giải thích mã VBA:

  • Sub Delete_Row_Cell_Contains_Text [] -> là để bắt đầu chương trình và quy trình phụ để viết mã VBA. -> is for starting the program and sub procedure to write the VBA code.
  • Dim hàng dài -> Khai báo hàng biến là kiểu dữ liệu dài để lưu trữ số hàng cuối cùng. -> Declaring the variable Row as long data type to store the last row number.
  • Dim I dài -> Khai báo biến I là loại dữ liệu dài để bắt đầu trong vòng lặp FOR. -> Declaring the variable i as long data type to initiate in the For Loop.
    • Dài là loại dữ liệu số trong VBA, loại dữ liệu dài trong Excel VBA có thể giữ các giá trị từ 0 đến 2, 147, 483, 647 cho các số dương và cho số âm mà nó có thể giữ từ 0 đến -2, 147, 483 , 648. is a numerical data type in VBA The long data type in Excel VBA can hold the values from 0 to 2, 147, 483, 647 for positive numbers, and for the negative number it can hold from 0 to -2, 147, 483, 648.
  • Hàng = 15 -> Lưu trữ giá trị hàng cuối cùng vào biến hàng được khai báo. -> Storing the last row value to the declared Row variable.
  • Cho i = hàng đến 1 bước -1 -> để chạy vòng lặp cho. -> To run the For Loop.
  • Nếu các ô [i, 1] = Ron Ron thì -> Kiểm tra mỗi ô xem giá trị của ô có bằng với Ron Ron hay không [bạn có thể đặt bất kỳ chuỗi nào ở đây theo nhu cầu của bạn]. -> Checking each cell whether the value of the cell is equal to “Ron” [you can put any string here according to your need].
  • Hàng [i] .delete -> Nếu câu lệnh IF trên là đúng, sau đó xóa hàng. -> If the above If statement is true, then delete the row.
  • Kết thúc nếu -> Kết thúc câu lệnh. -> Ending the Statement.
  • Tiếp theo -> Đóng vòng lặp. -> Closing the Loop.
  • Kết thúc phụ -> Kết thúc chức năng. -> Ending the Function.

Đọc thêm: Cách xóa hàng trong Excel: 7 Phương phápHow to Delete Rows in Excel: 7 Methods

2. Chèn VBA để xóa toàn bộ hàng nếu ô chứa giá trị số cụ thể trong Excel

Giả sử, từ một bộ dữ liệu như bên dưới, bạn muốn xóa toàn bộ bản ghi của một tên cụ thể dựa trên số ID ID của nó. Với mã VBA, bạn cũng có thể đạt được điều đó.VBA code you can achieve that too.

Các bước để xóa toàn bộ hàng của Ron Ron dựa trên số ID của anh ấy bằng mã VBA được đưa ra dưới đây.VBA code are given below.

Steps:

  • Tương tự như trước, Mở Trình soạn thảo Visual Basic từ tab Nhà phát triển và chèn một mô -đun vào cửa sổ mã.Visual Basic Editor from the Developer tab and Insert a Module in the code window.
  • Trong cửa sổ mã, sao chép mã sau và dán nó.
Sub Delete_Row_Cell_Contains_Number[]
Dim Row As Long
Dim i As Long
Row = 10
For i = Row To 1 Step -1
If IsNumeric[Cells[i, 1]] = 103 Then
Rows[i].Delete
End If
Next
End Sub

Mã của bạn hiện đã sẵn sàng để chạy.

  • Nhấn F5 trên bàn phím của bạn hoặc từ thanh menu Chọn chạy -> Chạy Sub/Userform. Bạn cũng có thể chỉ cần nhấp vào biểu tượng chơi nhỏ trong thanh phụ để chạy macro.Macros window, select the Macro Name, Delete_Row_Cell_Contains_Number -> Run.

Bạn sẽ nhận thấy rằng toàn bộ hàng của Ron Ron đã bị xóa khỏi bộ dữ liệu.

Giải thích mã VBA:

  • Sub Delete_Row_Cell_Contains_Text [] -> là để bắt đầu chương trình và quy trình phụ để viết mã VBA. -> is for starting the program and sub procedure to write the VBA code.
  • Dim hàng dài -> Khai báo hàng biến là kiểu dữ liệu dài để lưu trữ số hàng cuối cùng. -> Declaring the variable Row as long data type to store the last row number.
  • Dim I dài -> Khai báo biến I là loại dữ liệu dài để bắt đầu trong vòng lặp FOR. -> Declaring the variable i as long data type to initiate in the For Loop.
    • Dài là loại dữ liệu số trong VBA, loại dữ liệu dài trong Excel VBA có thể giữ các giá trị từ 0 đến 2, 147, 483, 647 cho các số dương và cho số âm mà nó có thể giữ từ 0 đến -2, 147, 483 , 648. is a numerical data type in VBA The long data type in Excel VBA can hold the values from 0 to 2, 147, 483, 647 for positive numbers, and for the negative number it can hold from 0 to -2, 147, 483, 648.]
  • Hàng = 15 -> Lưu trữ giá trị hàng cuối cùng vào biến hàng được khai báo. -> Storing the last row value to the declared Row variable.
  • Cho i = hàng đến 1 bước -1 -> để chạy vòng lặp cho. -> To run the For Loop.
  • Nếu các ô [i, 1] = Ron Ron thì -> Kiểm tra mỗi ô xem giá trị của ô có bằng với Ron Ron hay không [bạn có thể đặt bất kỳ chuỗi nào ở đây theo nhu cầu của bạn]. -> Checking each cell whether the value of the cell is a specific number.
  • Hàng [i] .delete -> Nếu câu lệnh IF trên là đúng, sau đó xóa hàng. -> If the above If statement is true, then delete the row.
  • Kết thúc nếu -> Kết thúc câu lệnh. -> Ending the Statement.
  • Tiếp theo -> Đóng vòng lặp. -> Closing the Loop.
  • Kết thúc phụ -> Kết thúc chức năng. -> Ending the Function.

Điểm quan trọng cần nhớ

Trong một số trường hợp, tài sản isnumeric Excel không phải lúc nào cũng tạo ra kết quả chính xác trong VBA. Trong trường hợp đó, thay vì viết dòng mã nếu isnumeric [ô [i, 1]] = 103 sau đó, hãy viết nếu các ô [i, 1] = 103 sau đó & nbsp; trong mô -đun mã của bạn.IsNumeric property doesn’t always produce the correct result in VBA. In that case, instead of writing the code line If IsNumeric[Cells[i, 1]] = 103 Then, write If Cells[i, 1] = 103 Then in your code module.

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

Bài đọc tương tự:

  • Cách xóa các hàng trống trong Excel [11 phương pháp]
  • Macro để xóa hàng trong excel nếu ô trống
  • Cách xóa các hàng được lọc trong Excel [5 Phương pháp]
  • Xóa các hàng ẩn trong Excel [3 Phương pháp]

3. Triển khai VBA để xóa toàn bộ hàng nếu ô chứa giá trị trống trong excel

Hãy xem xét bộ dữ liệu sau, trong đó có một hàng chứa một ô trống.

Bây giờ, chúng tôi sẽ chỉ cho bạn cách xóa toàn bộ hàng nếu nó chứa một ô trống.

Các bước để xóa toàn bộ hàng chứa một ô trống bằng mã VBA được đưa ra bên dưới.VBA code are given below.

Steps:

  • Tương tự như trước, Mở Trình soạn thảo Visual Basic từ tab Nhà phát triển và chèn một mô -đun vào cửa sổ mã.Visual Basic Editor from the Developer tab and Insert a Module in the code window.
  • Trong cửa sổ mã, sao chép mã sau và dán nó.
Sub Delete_Row_Blank_Cell[]
Dim Row As Long
Dim i As Long
Row = 15
For i = Row To 1 Step -1
If Cells[i, 1] = "" Then
Rows[i].Delete
End If
Next
End Sub

Mã của bạn hiện đã sẵn sàng để chạy.

  • Theo cách tương tự như trước đây, chạy mã và bạn sẽ nhận thấy rằng toàn bộ hàng chứa ô trống đã bị xóa khỏi bộ dữ liệu. Run the code and you will notice that the entire row containing the empty cell has been deleted from the dataset.

Giải thích mã VBA:

  • Sub Delete_Row_Blank_Cell [] -> là để bắt đầu chương trình và quy trình phụ để viết mã VBA.[] -> is for starting the program and sub procedure to write the VBA code.
  • Dim hàng dài -> Khai báo hàng biến là kiểu dữ liệu dài để lưu trữ số hàng cuối cùng. -> Declaring the variable Row as long data type to store the last row number.
  • Dim I dài -> Khai báo biến I là loại dữ liệu dài để bắt đầu trong vòng lặp FOR. -> Declaring the variable i as long data type to initiate in the For Loop.
    • Dài là loại dữ liệu số trong VBA, loại dữ liệu dài trong Excel VBA có thể giữ các giá trị từ 0 đến 2, 147, 483, 647 cho các số dương và cho số âm mà nó có thể giữ từ 0 đến -2, 147, 483 , 648. is a numerical data type in VBA The long data type in Excel VBA can hold the values from 0 to 2, 147, 483, 647 for positive numbers, and for the negative number it can hold from 0 to -2, 147, 483, 648.
  • Hàng = 15 -> Lưu trữ giá trị hàng cuối cùng vào biến hàng được khai báo. -> Storing the last row value to the declared Row variable.
  • Cho i = hàng đến 1 bước -1 -> để chạy vòng lặp cho. -> To run the For Loop.
  • Nếu các ô [i, 1] = ngay sau đó -> Kiểm tra mỗi ô xem giá trị có chứa chuỗi null hay không. -> Checking each cell whether the value contains null string.
  • Hàng [i] .delete -> Nếu câu lệnh IF trên là đúng, sau đó xóa hàng. -> If the above If statement is true, then delete the row.
  • Kết thúc nếu -> Kết thúc câu lệnh. -> Ending the Statement.
  • Tiếp theo -> Đóng vòng lặp. -> Closing the Loop.
  • Kết thúc phụ -> Kết thúc chức năng. -> Ending the Function.

Điểm quan trọng cần nhớNotice that in the macros, we were looping through the rows from bottom to up. This is the best approach to check if a cell contains a text value or number value and then delete the rows.

Trong một số trường hợp, tài sản isnumeric Excel không phải lúc nào cũng tạo ra kết quả chính xác trong VBA. Trong trường hợp đó, thay vì viết dòng mã nếu isnumeric [ô [i, 1]] = 103 sau đó, hãy viết nếu các ô [i, 1] = 103 sau đó & nbsp; trong mô -đun mã của bạn.

Đọc thêm: Macro VBA để xóa hàng nếu ô chứa giá trị trong Excel [2 phương thức]

Bài đọc tương tự:Column A in our dataset, hence, we passed 1 as the Column property inside the Cells function. You should pass the Column number according to your dataset. For instance, if the value that you want to delete is in Column B then write If Cells[i, 2], if it is in Column C then write If Cells[i, 3] and so on.

Cách xóa các hàng trống trong Excel [11 phương pháp]

Macro để xóa hàng trong excel nếu ô trốngVBA macro. I hope this article has been very beneficial to you. Feel free to ask any questions regarding the topic.

Cách xóa các hàng được lọc trong Excel [5 Phương pháp]

  • Xóa các hàng ẩn trong Excel [3 Phương pháp]
  • 3. Triển khai VBA để xóa toàn bộ hàng nếu ô chứa giá trị trống trong excel
  • Hãy xem xét bộ dữ liệu sau, trong đó có một hàng chứa một ô trống.
  • Bây giờ, chúng tôi sẽ chỉ cho bạn cách xóa toàn bộ hàng nếu nó chứa một ô trống.
  • Các bước để xóa toàn bộ hàng chứa một ô trống bằng mã VBA được đưa ra bên dưới.

Làm thế nào để bạn xóa toàn bộ hàng trong excel nếu một ô chứa một giá trị 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 một hàng trong excel dựa trên điều kiện?

Mở Excel ..
Kiểm tra tình trạng ..
Xóa bên trong điều kiện bằng lệnh xóa di động ..
Chọn toàn bộ hàng trong các tùy chọn xóa ..

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.

Bài Viết Liên Quan

Chủ Đề