VBA Xóa hàng - Ví dụ để xóa hàng trong Excel bằng VBA

Excel VBA Xóa hàng

Thông thường trong trang tính excel, chúng ta có hai phương pháp khác nhau để xóa các hàng, một là phím tắt và một phương pháp khác bằng cách sử dụng phương pháp nhấp chuột phải và chèn nhưng trong VBA, chúng ta phải sử dụng lệnh xóa và câu lệnh trang tính để xóa bất kỳ hàng nào cùng nhau, mẹo để điều này là nếu chúng ta cần xóa một hàng, chúng ta cung cấp một tham chiếu hàng đơn lẻ nhưng đối với nhiều cột, chúng ta cung cấp nhiều tham chiếu hàng.

Sử dụng Phương pháp xóa hàng VBA, chúng tôi có thể xóa tất cả các hàng trống và chúng tôi có thể xóa hàng dựa trên giá trị ô. Chúng tôi cũng có thể xóa toàn bộ hàng nếu bất kỳ ô nào trống.

Trong bài viết này, chúng ta sẽ thảo luận về phương pháp “VBA Delete Row.” Giữ bản thân bận rộn trong 15 đến 20 phút tiếp theo để tìm hiểu về khái niệm này.

Làm thế nào để xóa hàng?

Ví dụ 1

Trong VBA, chúng ta cần đề cập đến hàng chúng ta đang xóa.

Mã:

Sub DeleteRow_Example1 () Ô (1, 1) Kết thúc Sub

Các ô (1, 1) có nghĩa là cột đầu tiên ở hàng đầu tiên, tức là ô A1. Sau đó, chúng tôi sử dụng phương pháp "xóa".

Mã:

Sub DeleteRow_Example1 () Các ô (1, 1). Xóa End Sub

Bây giờ điều này sẽ xóa ô đầu tiên. Tất cả các giá trị bên phải sẽ dịch chuyển sang trái một ô.

Ví dụ số 2

Nếu bạn muốn xóa toàn bộ hàng, chúng ta cần sử dụng thuộc tính “EntireRow”, sau đó chúng ta cần sử dụng phương thức “xóa” để xóa toàn bộ hàng của ô mà chúng ta đã chọn.

Mã:

Ô Sub DeleteRow_Example2 () (1, 1) .EntireRow.Delete End Sub

Ví dụ, tôi đã nhập một vài ký tự trong một trang tính excel như sau.

Bây giờ, nếu tôi chạy mã này, nó sẽ xóa toàn bộ hàng, không một ô nào.

Ví dụ # 3

Chúng ta có thể xóa hàng bằng một số cách. Trong ví dụ trên, chúng tôi đã xóa hàng bằng cách sử dụng thuộc tính CELLS. Bây giờ chúng ta sẽ xem cách xóa bằng cách sử dụng thuộc tính ROWS.

Bây giờ chúng ta cần đề cập đến hàng chúng ta cần xóa là gì. Giả sử chúng ta cần xóa hàng thứ 5 .

Bây giờ hãy sử dụng thuộc tính thuộc tính “EntireRow”.

Sau khi chọn thuộc tính, những gì chúng ta cần làm là phương thức. Chúng ta cần xóa hàng.

Mã:

Sub DeleteRow_Example3 () Hàng (5) .EntireRow.Delete End Sub

Vì vậy, mã này sẽ xóa hàng thứ 5 .

Ví dụ # 4

Xóa nhiều hàng bằng cách sử dụng đối tượng phạm vi

Làm cách nào để xóa nhiều hàng?

Chúng ta có thể sử dụng đối tượng VBA RANGE để xóa nhiều hơn một hàng. Giả sử bạn có một số giá trị từ ô A1 đến A6.

Bây giờ tôi muốn xóa 5 hàng đầu tiên, vì vậy tôi có thể tham chiếu các hàng này bằng cách sử dụng đối tượng Phạm vi là “Phạm vi (“ A1: A5 ”)”

Mã:

Sub DeleteRow_Example4 () Range ("A1: A5") End Sub

Bây giờ tôi muốn sử dụng từ thuộc tính “EntireRow”.

Mã:

Sub DeleteRow_Example4 () Range ("A1: A5"). EntireRow End Sub

Trong toàn bộ hàng này, chúng ta cần thực hiện phương pháp xóa, vì vậy hãy sử dụng phương thức Xóa.

Mã:

Sub DeleteRow_Example4 () Range ("A1: A5"). EntireRow.Delete End Sub

Bây giờ, điều này sẽ xóa các hàng đã chọn.

Ví dụ # 5

Delete Rows Based On Cell Value

We can also use this “EntireRow.Delete” method to delete the row based on cell value in VBA. For example, I have Yes & No values from cell A1 to A10.

Now we need to delete the rows which have the value “No.” To perform this task, we need to use the function “IF” with loops to delete all the rows which have the value of “No.”

The below code will do the job for us.

Code:

Sub DeleteRow_Example5() Dim k As Integer For k = 10 To 1 Step -1 If Cells(k, 1).Value = "No" Then Cells(k, 1).EntireRow.Delete End If Next k End Sub

Example #6

Delete All the Blank Cells Rows

There are situations where we need to delete the entire row if any of the cells in the range are blank. For example, I have below set of data.

All the colored cells are blank, so I need to delete the entire row. We can perform this task with two sets of code. Below is the code.

Code:

Sub DeleteRow_Example6() Range("A1:F10").SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

This will identify the blank cells in the range A1 to F10.IF any blank cells are found, they will delete the entire row.

The problem with this code is it will only delete the blank cell’s row only in the range A1 to F10, but if any cells are blank in any other cells, it will not delete. So keeping this in mind, I have written one more code.

Code:

Sub DeleteRow_Example7 () Dim RangeToDelete As Range Dim DeletionRange As Range Set RangeToDelete = Application.InputBox ("Vui lòng chọn phạm vi", "Xóa các hàng ô trống", Loại: = 8) Đặt DeletionRange = RangeToDelete RangeToDelete.SpecialCells (xlCellType). .Xóa End Sub

Khi bạn chạy mã này, đầu tiên, nó sẽ yêu cầu bạn chọn phạm vi với một hộp nhập xuất hiện trước mặt bạn.

Sau khi chọn phạm vi, bạn cần nhấp vào OK. Nó sẽ xóa tất cả các hàng ô trống trong phạm vi đã chọn.

thú vị bài viết...