Excel VBA Zeile löschen
Normalerweise haben wir in Excel-Arbeitsblättern zwei verschiedene Methoden, um Zeilen zu löschen, eine als Tastenkombination und eine andere mit der Rechtsklick- und Einfügemethode. In VBA müssen wir jedoch den Befehl delete und die Arbeitsblattanweisung verwenden, um alle Zeilen zusammen zu löschen Dies bedeutet, dass wir, wenn wir eine einzelne Zeile löschen müssen, eine einzelne Zeilenreferenz angeben, für die mehreren Spalten jedoch mehrere Zeilenreferenzen.
Mit der VBA-Methode zum Löschen von Zeilen können wir alle leeren Zeilen löschen und die Zeile basierend auf dem Zellenwert löschen. Wir können auch die gesamte Zeile löschen, wenn eine der Zellen leer ist.
In diesem Artikel wird die Methode "VBA Delete Row" erläutert. Halten Sie sich die nächsten 15 bis 20 Minuten beschäftigt, um mehr über das Konzept zu erfahren.

Wie lösche ich eine Zeile?
Beispiel 1
In VBA müssen wir die Zeile erwähnen, die wir löschen.
Code:
Sub DeleteRow_Example1 () Cells (1, 1) End Sub

Zellen (1, 1) bedeuten erste Spalte der ersten Zeile, dh A1-Zelle. Dann verwenden wir die Methode "Löschen".
Code:
Sub DeleteRow_Example1 () Cells (1, 1) .Delete End Sub

Dadurch wird die erste Zelle gelöscht. Alle Werte auf der rechten Seite verschieben eine Zelle nach links.

Beispiel 2
Wenn Sie die gesamte Zeile löschen möchten, müssen Sie die Eigenschaft "EntireRow" verwenden. Anschließend müssen Sie die Methode "delete" verwenden, um die gesamte Zeile der ausgewählten Zelle zu löschen.
Code:
Sub DeleteRow_Example2 () Cells (1, 1) .EntireRow.Delete End Sub

Zum Beispiel habe ich einige Zeichen wie folgt in ein Excel-Blatt eingegeben.

Wenn ich diesen Code jetzt ausführe, wird die gesamte Zeile gelöscht, nicht eine einzelne Zelle.

Beispiel 3
Wir können die Zeile auf verschiedene Arten löschen. Im obigen Beispiel haben wir die Zeile mithilfe der CELLS-Eigenschaft gelöscht. Jetzt werden wir sehen, wie man mit der ROWS-Eigenschaft löscht.

Jetzt müssen wir erwähnen, welche Zeile wir löschen müssen. Lassen Sie uns sagen , dass wir 5 löschen müssen ten Reihe.

Verwenden Sie nun die Eigenschaft "EntireRow".

Nach Auswahl der Eigenschaft müssen wir also die Methode ausführen. Wir müssen die Zeile löschen.
Code:
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 ("Bitte wählen Sie den Bereich aus", "Blank Cells Rows Deletion", Typ: = 8) Set DeletionRange = RangeToDelete RangeToDelete.SpecialCells (xlCellTyp .Delete End Sub

Wenn Sie diesen Code ausführen, werden Sie zunächst aufgefordert, den Bereich mit einem Eingabefeld vor Ihnen auszuwählen.

Nachdem Sie den Bereich ausgewählt haben, müssen Sie auf OK klicken. Es werden alle leeren Zellenzeilen im ausgewählten Bereich gelöscht.