In diesem Tutorial wird gezeigt, wie Sie mit VBA Zeilen und Spalten in Excel einfügen.
Zum Einfügen von Zeilen oder Spalten verwenden wir die Einfügemethode.
Eine einzelne Zeile oder Spalte einfügen
Neue Zeile einfügen
Um eine einzelne Zeile einzufügen, können Sie das Rows-Objekt verwenden:
1 | Zeilen(4).Einfügen |
Oder Sie können das Range-Objekt zusammen mit EntireRow verwenden:
1 | Range("b4").EntireRow.Insert |
Neue Spalte einfügen
Ähnlich wie beim Einfügen von Zeilen können wir das Columns-Objekt verwenden, um eine Spalte einzufügen:
1 | Spalten(4).Einfügen |
Oder das Range-Objekt zusammen mit EntireColumn:
1 | Range("b4").EntireColumn.Insert |
Mehrere Zeilen oder Spalten einfügen
Mehrere Zeilen einfügen
Beim Einfügen mehrerer Zeilen mit dem Rows-Objekt müssen Sie die Zeilen in Anführungszeichen setzen:
1 | Zeilen("4:6").Einfügen |
Das Einfügen mehrerer Zeilen mit dem Range-Objekt funktioniert genauso wie bei einer einzelnen Zeile:
1 | Range("b4:b6").EntireRow.Insert |
Mehrere Spalten einfügen
Geben Sie beim Einfügen mehrerer Spalten mit dem Spaltenobjekt die Spalte ein Briefe in Zitaten:
1 | Spalten("B:D").Einfügen |
Das Einfügen mehrerer Spalten mit dem Range-Objekt funktioniert genauso wie bei einer einzelnen Spalte:
1 | Range("b4:d4").EntireColumn.Insert |
Einfügen - Shift & CopyOrigin
Die Einfügemethode hat zwei optionale Argumente:
- Schicht - In welche Richtung die Zellen verschoben werden sollen
- KopieOrigin - Welche Zellenformatierung kopiert werden soll (oben, unten, links oder rechts)
Das Shift-Argument ist beim Einfügen ganzer Zeilen oder Spalten irrelevant. Sie können nur angeben, ob Sie nach unten oder nach rechts schalten möchten:
- xlShiftDown - Zellen nach unten verschieben
- xlShiftToRight - Zellen nach rechts verschieben
Wie Sie sehen, können Sie weder nach oben noch nach rechts schalten.
Die KopieOrigin Argument hat zwei mögliche Eingaben:
- xlFormatFromLeftorAbove - (0) Neu eingefügte Zellen übernehmen die Formatierung von Zellen darüber oder links
- xlFormatFromRightorBelow (1) Neu eingefügte Zellen übernehmen die Formatierung von Zellen darunter oder rechts.
Schauen wir uns einige Beispiele für die KopieOrigin Streit. Hier unsere Ausgangsdaten:
In diesem Beispiel wird eine Zeile eingefügt, wobei die Formatierung aus der obigen Zeile übernommen wird.
1 | Rows(5).Insert , xlFormatFromLeftOrAbove |
In diesem Beispiel wird eine Zeile eingefügt, wobei die Formatierung aus der unteren Zeile übernommen wird.
1 | Rows(5).Insert , xlFormatFromRightOrBelow |
Andere Einfügungsbeispiele
Kopierte Zeilen oder Spalten einfügen
Wenn Sie eine kopierte Zeile einfügen möchten, verwenden Sie folgenden Code:
12 | Bereich("1:1").KopierenBereich("5:5").Einfügen |
Hier kopieren wir Zeile 1 und fügen sie in Zeile 5 ein.
Zeilen basierend auf Zellwert einfügen
Dies durchläuft einen Bereich und fügt Zeilen basierend auf Zellwerten ein:
1234567891011 | Unter InsertRowswithSpecificValue()Zelle als Bereich dimmenFür jede Zelle im Bereich("b2:b20")Wenn cell.Value = "insert" Thencell.EntireRow.InsertEnde WennNächste ZelleEnd Sub |
Zeilen oder Spalten löschen
Um Zeilen oder Spalten zu löschen, verwenden Sie einfach die Löschen Methode.
1234567 | Zeilen(1).LöschenRange("a1").EntireRow.DeleteSpalten(1).LöschenRange("a1").EntireColumn.Delete |