Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: neue Zeile unterhalb einfügen

neue Zeile unterhalb einfügen
28.08.2018 09:42:06
Renan
Hallo zusammen,
gibt es eine Möglichkeit neue Zeilen "unterhalb" einzufügen und nicht oberhalb?
Mein Makro bringt die Zeilennummer des letzten Tabelleneintrages (Listobject) in Erfahrung und soll die Tabelle nun um eine neue Zeile nach unten erweitern.
Bei meinem Code wird die neue Zeile leider immer oberhalb der letzten eingefügt.
' Neue Zeile anlegen
' Variable: "lastTableRow" = letzte Zeile der Tabelle, Zeilennummer des untersten Eintrages)
Rows(lastTableRow + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Kennt sich jemand damit aus und kann mir aushelfen?
MfG,
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: neue Zeile unterhalb einfügen
28.08.2018 09:50:46
{Boris}
Hi,
welchen Wert hat denn die Variable lastTableRow? Tatsächlich den gewünschten oder ...?
VG, Boris
AW: neue Zeile unterhalb einfügen
28.08.2018 10:06:34
Renan
Hallo Boris,
die Variable lastTableRow hat die Worksheet-Zeilennummer des letzten Tabelleneintrages.
Also mein Listobject hat momentan insgesamt 12 Einträge und keine leeren Zeilen. Also alle 12 Einträge besetzt.
Der letzte Eintrag des Listobjects (Eintrag 12) ist im Worksheet in Zeile 23. Dadurch hat lastTableRow den Wert 23.
Und ich möchte eine komplett neue Worksheet-Zeile einfügen, welches gleichzeitig meine Tabelle nach unten erweitert.
Klar man kann auch "nur" eine Listobject-Zeile einfügen, aber das verzieht dann das Format von allen Zellen, die um die Tabelle liegen. Deshalb arbeite ich mit dem Einfügen von neuen Worksheet-Zeilen.
Anzeige
AW: neue Zeile unterhalb einfügen
28.08.2018 10:30:48
{Boris}
Hi,
die Variable lastTableRow hat die Worksheet-Zeilennummer des letzten Tabelleneintrages
Und genau das überprüf mal bitte - entweder im Einzelschrittmodus oder mit ner MsgBox, die Dir den Wert von lastTableRow anzeigt.
VG, Boris
AW: neue Zeile unterhalb einfügen
28.08.2018 11:07:58
Renan
Hallo Boris,
ich habe mal eine Beispielsdatei mit meinem Code hochgeladen.
Vil. fällt dir ja mehr auf aus mir
https://www.herber.de/bbs/user/123610.xlsm
Ich habe die "+ 1" bei
Rows(lastTableRow + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
wieder entfernt, weil ansonsten die neue Zeile nicht mehr zu der Tabelle gehört.
Und ja lastTableRow ist exakt die Zeilennummer des letzten Tabelleneintrages.
MfG
Anzeige
AW: neue Zeile unterhalb einfügen
28.08.2018 11:17:01
Renan
Hallo Boris,
ich habe mal eine Beispielsdatei mit meinem Code hochgeladen.
Vil. fällt dir ja mehr auf aus mir
https://www.herber.de/bbs/user/123610.xlsm
Ich habe die "+ 1" bei
Rows(lastTableRow + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
wieder entfernt, weil ansonsten die neue Zeile nicht mehr zu der Tabelle gehört.
Und ja lastTableRow ist exakt die Zeilennummer des letzten Tabelleneintrages.
MfG
Anzeige
AW: neue Zeile unterhalb einfügen
28.08.2018 16:05:56
{Boris}
Hi,
durch das Einfügen verschieben sich auch andere Aktionen. Achte auf die fett gedruckten Änderungen.
' Neue Zeile anlegen
lastTableRow = lstObjFirstRow + lstObjTotalRows
Rows(lastTableRow + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
' Get new table references
lstObjTotalRows = ActiveSheet.ListObjects(lstObjName).DataBodyRange.Rows.Count
lstObjFirstRow = ActiveSheet.ListObjects(lstObjName).Range.Cells(1).Row
' Daten in die neue Zeile übertragen
With lstObj
.ListColumns("Status").DataBodyRange(lstObjTotalRows + 1) = "offen"
.ListColumns("Projekt").DataBodyRange(lstObjTotalRows + 1) = Me.TB_PROJEKT_NAME.Value
.ListColumns("Mitarbeiter").DataBodyRange(lstObjTotalRows + 1) = Me.TB_MITARBEITER.Value
End With
VG, Boris
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Neue Zeile unterhalb in Excel einfügen


Schritt-für-Schritt-Anleitung

Um in Excel eine neue Zeile unterhalb einer bestehenden Zeile einzufügen, kannst Du die folgenden Schritte befolgen:

  1. Bestimme die letzte Zeile Deiner Tabelle: Erstelle eine Variable, die die Zeilennummer des letzten Eintrags enthält. Zum Beispiel:

    lastTableRow = ActiveSheet.ListObjects("DeinListObjectName").ListRows.Count
  2. Füge die neue Zeile ein: Verwende den folgenden Code, um eine neue Zeile unterhalb der letzten Zeile einzufügen:

    Rows(lastTableRow + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
  3. Übertrage Daten in die neue Zeile: Wenn Du Daten in die neue Zeile übertragen möchtest, kannst Du das folgendermaßen tun:

    With ActiveSheet.ListObjects("DeinListObjectName")
       .ListColumns("DeineSpalte").DataBodyRange(lastTableRow + 1) = "DeinWert"
    End With

Häufige Fehler und Lösungen

  • Falsche Zeilennummer: Wenn die neue Zeile nicht richtig eingefügt wird, überprüfe den Wert der Variable lastTableRow. Stelle sicher, dass sie die korrekte Zeilennummer des letzten Eintrags enthält.

  • Formatverschiebung: Achte darauf, dass beim Einfügen der neuen Zeile das Format Deiner Tabelle nicht verschoben wird. Nutze CopyOrigin:=xlFormatFromLeftOrAbove, um sicherzustellen, dass die Formatierung beibehalten wird.


Alternative Methoden

  1. Tastenkombination: Du kannst auch die Tastenkombination Strg + Shift + + verwenden, um schnell eine neue Zeile unterhalb der markierten Zeile einzufügen.

  2. Excel Makro: Erstelle ein Makro, das beim Ausführen automatisch eine neue Zeile unterhalb der letzten Zeile einfügt. Beispiel:

    Sub NeueZeileEinfügen()
       Dim lastTableRow As Long
       lastTableRow = ActiveSheet.ListObjects("DeinListObjectName").ListRows.Count
       Rows(lastTableRow + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    End Sub

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du eine neue Zeile unterhalb in verschiedenen Szenarien einfügen kannst:

  • Neue Zeile in einer Liste: Wenn Du eine Liste mit Projekten hast und ein neues Projekt hinzufügen möchtest, kannst Du den obigen VBA-Code verwenden, um die Liste automatisch nach unten zu erweitern.

  • Formelaktualisierung: Wenn Du eine neue Zeile einfügst, stelle sicher, dass alle Formeln, die sich auf diese Zeile beziehen, aktualisiert werden. Dies kann entweder automatisch geschehen oder Du musst die Formeln manuell anpassen.


Tipps für Profis

  • Automatisierung: Du kannst VBA verwenden, um automatisierte Prozesse zu entwickeln, die neue Zeilen basierend auf bestimmten Bedingungen einfügen, z.B. wenn ein neues Formular ausgefüllt wird.

  • Fehlerprotokollierung: Implementiere eine Fehlerprotokollierung in Deinem VBA-Code, damit Du schnell identifizieren kannst, wo Probleme auftreten, wenn Du versuchst, eine neue Zeile unterhalb einzufügen.


FAQ: Häufige Fragen

1. Wie kann ich mit einer Tastenkombination eine Zeile unterhalb einfügen?
Verwende die Kombination Strg + Shift + + und die neue Zeile wird unterhalb der aktuell ausgewählten Zeile eingefügt.

2. Was kann ich tun, wenn meine Tabelle nicht richtig aktualisiert wird?
Stelle sicher, dass Du die korrekten Referenzen in Deinem VBA-Code verwendest, und überprüfe, ob alle Formeln in der Tabelle korrekt sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige