VBA Ganze Zeile oder Spalte löschen

Dieses Tutorial zeigt verschiedene Möglichkeiten zum Löschen von Zeilen und Spalten in Excel mit VBA.

Ganze Zeile oder Spalte löschen

Um eine ganze Zeile in VBA zu löschen, verwenden Sie diese Codezeile:

1 Zeilen(1).Löschen

Beachten Sie, dass wir die verwenden Löschen -Methode, um eine Zeile zu löschen.

Anstatt auf die Zeilen-Objekt, können Sie Zeilen basierend auf ihrer referenzieren Bereichsobjekt mit Ganze Reihe:

1 Range("a1").EntireRow.Delete

Um eine ganze Spalte zu löschen, verwenden Sie die folgenden Codezeilen:

1 Spalten(1).Löschen
1 Range("a1").EntireColumn.Delete

Mehrere Zeilen oder Spalten löschen

Mit derselben Logik können Sie auch mehrere Zeilen gleichzeitig löschen:

1 Zeilen("1:3").Löschen

oder Spalten:

1 Spalten("A:C").Löschen

Beachten Sie, dass wir hier auf die spezifischen Zeilen- und Spaltennummern / Buchstaben verweisen, die von Anführungszeichen umgeben sind.

Natürlich können Sie auch auf die gesamte Zeile eines Bereichs verweisen:

1 Range("a1:a10").EntireRow.Delete

Hinweis: Die folgenden Beispiele veranschaulichen nur das Löschen von Zeilen, aber wie Sie oben sehen können, ist die Syntax praktisch identisch mit dem Löschen von Spalten.

Leere / leere Zeilen löschen

In diesem Beispiel wird eine Zeile gelöscht, wenn die gesamte Zeile leer ist:

1234567891011 Unter DeleteRows_EntireRowBlank()Zelle als Bereich dimmenFür jede Zelle im Bereich("b2:b20")Wenn Application.WorksheetFunction.CountA(cell.EntireRow) = 0 Thencell.EntireRow.DeleteEnde WennNächste ZelleEnd Sub

Es verwendet die Excel-Arbeitsblattfunktion: ANZAHL.

Zeile löschen, wenn Zelle leer ist

Dadurch wird eine Zeile gelöscht, wenn eine bestimmte Spalte in dieser Zeile leer ist (in diesem Fall Spalte B):

1 Range("b3:b20").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

Zeile basierend auf Zellenwert löschen

Dies durchläuft einen Bereich und löscht Zeilen, wenn ein bestimmter Zellenwert in dieser Zeile „Löschen“ sagt.

1234567891011 Unter DeleteRowswithSpecificValue()Zelle als Bereich dimmenFür jede Zelle im Bereich("b2:b20")Wenn cell.Value = "delete" Thencell.EntireRow.DeleteEnde WennNächste ZelleEnd Sub

Weitere Beispiele zum Löschen von Zeilen und Spalten

Doppelte Zeilen löschen

Dieser Code löscht alle doppelten Zeilen in einem Bereich:

1 Range("b2:c100").RemoveDuplicates Columns:=2

Beachten Sie, dass wir Columns:=2 gesetzt haben. Dies weist VBA an, die beiden ersten Datenspalten zu überprüfen, wenn geprüft wird, ob Zeilen Duplikate sind. Ein Duplikat wird nur gefunden, wenn beide Spalten doppelte Werte aufweisen.

Wenn wir dies auf 1 gesetzt hätten, wäre nur die erste Zeile auf doppelte Werte überprüft worden.

Tabellenzeilen löschen

Dieser Code löscht die zweite Zeile in einer Tabelle, indem er auf ListObjects verweist.

1 ThisWorkbook.Sheets("Sheet1").ListObjects("list1").ListRows(2).Delete

Gefilterte Zeilen löschen

So löschen Sie nur Zeilen, die nach dem Filtern sichtbar sind:

1 Range("b3:b20").SpecialCells(xlCellTypeVisible).EntireRow.Delete

Zeilen im Bereich löschen

Dieser Code löscht alle Zeilen im Bereich:

1 Range("a1:a10").EntireRow.Delete

Ausgewählte Zeilen löschen

Dieser Code löscht alle ausgewählten Zeilen:

1 Auswahl.EntireRow.Delete

Letzte Zeile löschen

Dadurch wird die zuletzt verwendete Zeile in Spalte B gelöscht:

1 Cells(Rows.Count, 2).End(xlUp).EntireRow.Delete

Durch Ändern von 2 auf 1 können Sie die zuletzt verwendete Zeile in Spalte A löschen usw.:

1 Cells(Rows.Count, 1).End(xlUp).EntireRow.Delete

Spalten nach Nummer löschen

Um eine Spalte anhand ihrer Nummer zu löschen, verwenden Sie einen Code wie diesen:

1 Spalten (2).Löschen

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave