Wie füge ich eine zeile mit vba in excel ein?
In diesem Tutorial erfahren Sie, wie Sie mithilfe von VBA-Code in Excel eine Zeile oder Spalte einfügen. Wir werden auch untersuchen, welche verschiedenen Möglichkeiten es gibt, hierfür ein Makro zu schreiben.
Fügen Sie mit VBA eine einzelne Zeile ein
Um eine Zeile mit VBA-Code einzufügen, müssen Sie die Eigenschaft „Whole Row“ mit der Methode „Insert“ verwenden. Mit der Eigenschaft „Gesamte Zeile“ können Sie über eine Zelle auf die gesamte Zeile verweisen und dort dann eine neue Zeile einfügen. Standardmäßig wird eine einzelne Zeile vor der von Ihnen erwähnten Zelle eingefügt.
- Geben Sie zunächst eine Zelle mithilfe des Bereichsobjekts an.
- Geben Sie nun einen Punkt (.) ein, um die Liste der Eigenschaften und Methoden zu erhalten.
- Wählen Sie anschließend die Eigenschaft „Ganze Zeile“ aus oder geben Sie sie ein.
- Geben Sie am Ende erneut einen Punkt (.) ein und wählen Sie die Methode „Einfügen“ oder geben Sie sie ein.
Range("A1").EntireRow.Insert
Ihr Code ist hier bereit, um eine Zeile einzufügen. Wenn Sie nun diesen Code ausführen, wird sofort eine neue Zeile vor Zelle A1 eingefügt.
Fügen Sie mehrere Zeilen ein
Ich habe zwei Möglichkeiten gefunden, mehrere Zeilen in eine Tabelle einzufügen. Die erste ist die gleiche Einfügemethode, die wir im obigen Beispiel verwendet haben.
Dabei müssen Sie einen Bereich angeben, dessen Anzahl der Anzahl der Zeilen entspricht, die Sie einfügen möchten. Angenommen, Sie möchten danach 5 Zeilen einfügen. In diesem Fall können Sie Code wie diesen verwenden.
Ehrlich gesagt fand ich diese Methode nicht sehr nützlich, da man den Bereich ändern muss, wenn man die Anzahl der Zeilen ändern möchte.
Hier ist also die zweite Methode.
Dim iRow As Long Dim iCount As Long Dim i As Long iCount = InputBox(Prompt:="How many rows you want to add?") iRow = InputBox _ (Prompt:="After which row you want to add new rows? (Enter the row number") For i = 1 To iCount Rows(iRow).EntireRow.Insert Next i
Wenn Sie diesen Code ausführen, werden Sie aufgefordert, die Anzahl der Zeilen einzugeben, die Sie hinzufügen möchten, und dann die Zeilennummer, in der Sie alle diese Zeilen hinzufügen möchten. Es verwendet eine FOR-Schleife (For Next) , um diese Anzahl von Malen zu durchlaufen und Zeilen nacheinander einzufügen.
Fügen Sie Zeilen basierend auf Zellwerten ein
Wenn Sie Zeilen basierend auf einem Zellenwert einfügen möchten, können Sie den folgenden Code verwenden.
Dim iRow As Long Dim iCount As Long Dim i As Long iCount = Range("A1").Value iRow = Range("B1").Value For i = 1 To iCount Rows(iRow).EntireRow.Insert Next i
Wenn Sie dieses Makro ausführen, übernimmt es die Anzahl der Zeilen aus Zelle A1 und die Zeile, in der Sie Zeilen hinzufügen möchten, aus Zelle B1.
Fügen Sie eine Zeile ohne Formatierung ein
Wenn Sie eine Zeile einfügen, bei der die darüber liegende Zeile eine bestimmte Formatierung aufweist, weist die Zeile in diesem Fall automatisch auch diese Formatierung auf. Und der einfachste Weg, mit dieser Situation umzugehen, ist die Verwendung klarer Formate . Betrachten Sie den folgenden Code.
Rows(7).EntireRow.Insert Rows(7).ClearFormats
Wenn Sie den obigen Code ausführen, wird vor der 7. Zeile eine neue Zeile eingefügt. Was passiert nun: Wenn Sie eine Zeile vor der 7. Zeile einfügen, wird diese neue Zeile zur 7. Zeile und die zweite Codezeile löscht dann die Formate dieser Zeile.
Fügen Sie eine kopierte Zeile ein
Mit der gleichen Methode können Sie auch eine Zeile kopieren und dann an anderer Stelle einfügen. Siehe den folgenden Code.
Application.CutCopyMode = False With Worksheets("Data") .Rows(5).Copy .Rows(9).Insert Shift:=xlShiftDown End With Application.CutCopyMode = True