VBA Zeile löschen

Excel VBA Zeile löschen

Normalerweise haben wir im Excel-Arbeitsblatt 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. Wir können 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 werden wir die Methode "VBA Delete Row" diskutieren. 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?

Sie können diese VBA-Vorlage zum Löschen von Zeilen-Excel hier herunterladen - VBA-Vorlage zum Löschen von Zeilen-Excel

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, dann müssen wir die Methode "delete" verwenden, um die gesamte Zeile der von uns ausgewählten Zelle zu löschen.

Code:

Sub DeleteRow_Example2 () Cells (1, 1) .EntireRow. End Sub löschen

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 sehen wir, wie sie mithilfe der ROWS-Eigenschaft gelöscht wird.

Jetzt müssen wir erwähnen, welche Zeile wir löschen müssen. Nehmen wir an, wir müssen die 5. Zeile löschen.

Verwenden Sie nun die Eigenschaft "EntireRow".

Nach Auswahl der Eigenschaft, was wir tun müssen, dh Methode. Wir müssen die Zeile löschen.

Code:

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

Dieser Code löscht also die 5. Zeile.

Beispiel 4

Löschen Sie mehrere Zeilen mithilfe des Bereichsobjekts

Wie löschen wir mehrere Zeilen?

Wir können das VBA RANGE-Objekt verwenden, um mehr als eine Zeile zu löschen. Angenommen, Sie haben einige Werte von A1 bis A6-Zellen.

Jetzt möchte ich die ersten 5 Zeilen löschen, damit ich auf diese Zeilen verweisen kann, indem ich das Range-Objekt als "Range (" A1: A5 ")" verwende.

Code:

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

Jetzt möchte ich die Eigenschaft "EntireRow" verwenden.

Code:

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

In dieser gesamten Zeile müssen wir die Löschmethode ausführen. Verwenden Sie daher die Löschmethode.

Code:

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

Dadurch werden nun die ausgewählten Zeilen gelöscht.

Beispiel # 5

Zeilen basierend auf dem Zellenwert löschen

Wir können diese Methode "EntireRow.Delete" auch verwenden, um die Zeile basierend auf dem Zellenwert in VBA zu löschen. Zum Beispiel habe ich Ja & Nein-Werte von Zelle A1 bis A10.

Jetzt müssen wir die Zeilen löschen, die den Wert "Nein" haben. Um diese Aufgabe auszuführen, müssen wir die Funktion "IF" mit Schleifen verwenden, um alle Zeilen zu löschen, die den Wert "No" haben.

Der folgende Code erledigt die Arbeit für uns.

Code:

 Sub DeleteRow_Example5 () Dim k As Integer Für k = 10 bis 1 Schritt -1 Wenn Zellen (k, 1) .Value = "Nein" Dann Zellen (k, 1) .EntireRow.Delete End If Next k End Sub 

Beispiel 6

Alle Zeilen mit leeren Zellen löschen

Es gibt Situationen, in denen wir die gesamte Zeile löschen müssen, wenn eine der Zellen im Bereich leer ist. Zum Beispiel habe ich unten Datensatz.

Alle farbigen Zellen sind leer, daher muss ich die gesamte Zeile löschen. Wir können diese Aufgabe mit zwei Codesätzen ausführen. Unten ist der Code.

Code:

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

Dadurch werden die leeren Zellen im Bereich A1 bis F10 identifiziert. Wenn alle gefundenen leeren Zellen die gesamte Zeile löschen.

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("Please select the range", "Blank Cells Rows Deletion", Type:=8) Set DeletionRange = RangeToDelete RangeToDelete.SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub 

When you run this code firstly it will ask you to select the range with an input box appearing in front of you.

After selecting the range you need to click on OK, it will delete all the blank cells rows in the selected range.