VBA Изтриване на редове - Примери за изтриване на редове в Excel с помощта на VBA

Excel VBA Изтриване на ред

Обикновено в работния лист на Excel има два различни метода за изтриване на редове, като единият е клавишната комбинация, а другият с помощта на метода за щракване с десния бутон на мишката и вмъкването, но във VBA трябва да използваме командата delete и инструкцията за работен лист, за да изтрием всички редове заедно, трикът да това е, че ако трябва да изтрием един ред, ние даваме референция за един ред, но за многото колони даваме референции за няколко реда.

Използвайки метода на VBA Delete Row, можем да изтрием всички празни редове и да изтрием реда въз основа на стойността на клетката. Също така можем да изтрием целия ред, ако някоя от клетките е празна.

В тази статия ще обсъдим метода „VBA Delete Row.“ Бъдете заети през следващите 15 до 20 минути, за да научите повече за концепцията.

Как да изтрия реда?

Пример # 1

Във VBA трябва да споменем реда, който изтриваме.

Код:

Sub DeleteRow_Example1 () Клетки (1, 1) Край Sub

Клетки (1, 1) означава първи ред на първата колона, т.е. клетка А1. След това използваме метода „изтриване“.

Код:

Sub DeleteRow_Example1 () Клетки (1, 1). Изтриване на крайния Sub

Сега това ще изтрие първата клетка. Всички стойности от дясната страна ще изместят една клетка вляво.

Пример # 2

Ако искате да изтриете целия ред, трябва да използваме свойството “EntireRow”, тогава трябва да използваме метода “delete”, за да изтрием целия ред на клетката, която сме избрали.

Код:

Sub DeleteRow_Example2 () Клетки (1, 1) .EntireRow.Delete End Sub

Например, въведох няколко знака в Excel лист, както следва.

Сега, ако пусна този код, той ще изтрие целия ред, а не една клетка.

Пример # 3

Можем да изтрием реда, като използваме няколко начина. В горния пример ние изтрихме реда с помощта на свойството CELLS. Сега ще видим как да изтрием, като използваме свойството ROWS.

Сега трябва да споменем какъв е редът, който трябва да изтрием. Да кажем, че трябва да изтрием 5 -ти ред.

Сега използвайте свойството “EntireRow”.

След като изберете свойството, какво трябва да направим, т.е. метод. Трябва да изтрием реда.

Код:

Sub DeleteRow_Example3() Rows(5).EntireRow.Delete End Sub

So, this code will delete the 5th row.

Example #4

Delete Multiple Rows by Using Range Object

How do we delete multiple rows?

We can use the VBA RANGE object to delete more than one row. Assume you have some values from A1 to A6 cells.

Now I want to delete the first 5 rows, so I can reference these rows by using the Range object as “Range (“A1: A5”)”

Code:

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

Now I want to use the word “EntireRow” property.

Code:

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

In this entire row, we need to perform the method of deleting, so use the Delete method.

Code:

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

Now this will delete the selected rows.

Example #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 ("Моля, изберете диапазона", "Изтриване на редове с празни клетки", Тип: = 8) Задайте DeletionRange = RangeToDelete RangeToDelete.SpecialCellCellCellEnEllEnCellCellCellCellCeLeEnCellCellCellEnEll .Изтриване на крайния под

Когато стартирате този код, първо, той ще ви помоли да изберете диапазона с поле за въвеждане, което се появява пред вас.

След като изберете диапазона, трябва да щракнете върху OK. Той ще изтрие всички редове с празни клетки в избрания диапазон.

Интересни статии...