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

Forumthread: Makro zum Einfügen einer Zeile in Tabelle

Makro zum Einfügen einer Zeile in Tabelle
07.11.2017 07:18:33
Jenny
Hallo zusammen,
ich habe folgendes Problem und hoffe auf Hilfe:
Ich habe eine Excel-Tabelle, die stetig um Zeilen erweitert wird. Leider arbeiten verschiedene Personen daran, so dass häufig die Formatierung durcheinander gerät etc. Außerdem enthält die Tabelle Formeln, die in jeder Zeile gleich bleiben sollen.
Ich hätte nun gerne über ein Makro erreicht, dass eine neue Zeile oberhalb der Ergebniszeile (also am Ende der Tabelle) eingefügt wird und dabei alle Formatierungen sowie evtl. Formeln in der Tabelle von den vorherigen Zeilen übernommen werden, nicht jedoch der Inhalt der Zellen.
Ich wäre sehr dankbar, wenn mir da jemand helfen könnte.
Viele Grüße,
Jenny
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro zum Einfügen einer Zeile in Tabelle
07.11.2017 09:15:50
Nadine
Hallo Jenny,
ich mach das immer so: Makro-Button "Zeile Einfügen" in deiner Tabelle anlegen (oberhalb der einzufügenden Zeilen)und Makro zuweisen. So, angenommen, deine eigentliche Tabelle beginnt ab Zeile4, d.h. in Zeile3 stehen noch die Titel/Überschriften und es soll in Zeile4 immer ein neue leere Eintragszeile eingefügt werden, inkl. dem Format und den Formeln aus der Zeile darunter, ohne die Werte.
Sub Makro1_Zeile_Einfügen()
'Makro fügt immer 1 neue Zeile in Zeile 4 ein, unter Erhalt des Formats und der Formeln aus der  _
Zeile 5
Rows("4:4").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove   'fügt 1 neue Zeile  _
oberhalb ein
Rows("5:5").Select
Selection.Copy
Rows("4:4").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False    'kopiert Format von Zeile 5 auf neu eingefügte  _
Zeile4
Application.CutCopyMode = False
Rows("5:5").Select
Selection.Copy
Rows("4:4").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False    'kopiert Formeln von Zeile 5 auf neu eingefügte  _
Zeile4 (leider auch die Werte)
Range("A4:D4,F4,H4:J4,M4").Select     'alle Zellen mit Werten auswählen(im Bsp.: Spalte A-D, _
F, H-J, M = hier werden Einträge gemacht. In Spalte E, G, K-L, N-Ende sind Formeln, die erhalten bleiben sollen
Selection.ClearContents     'Inhalt löschen
Range("A4").Select
End Sub

Anzeige
AW: Makro zum Einfügen einer Zeile in Tabelle
07.11.2017 09:42:10
Jenny
Hallo Nadine,
erstmal vielen Dank für deine Hilfe.
Leider müssten die neuen Zeilen jedoch immer am Ende der Tabelle eingefügt werden, so dass ich nicht konkret auf eine einzelne Zeile verweisen kann, die dann kopiert wird, da ja immer neue Zeilen hinzukommen.
Ich bräuchte also einen Befehl wie "oberhalb der Ergebniszeile Zeile einfügen" und anschließend "zwei Zeilen oberhalb der Ergebniszeile kopieren". Geht das irgendwie?
Danke,
Jenny
Anzeige
AW: Makro zum Einfügen einer Zeile in Tabelle
07.11.2017 10:23:27
Peter
Hallo Jenny,
Vieleicht hilft es Dir weiter.
In diesen Fall wird in der Tabelle1 und in der Spalte "A" über den letzten Eintrag eine neue Zeile eingefügt und die Formel aus der darüberliegende Celle kopiert.
Du müsstest noch die Tabelle und die Spalte anpassen.
Sub Zeile()
Dim intZeile As Integer, intSpalte As Integer
intZeile = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
intSpalte = 1
Cells(intZeile, intSpalte).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Cells(intZeile - 1, intSpalte).Copy
Cells(intZeile, intSpalte).PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
Viele Grüße
Peter (hpo)
Anzeige
AW: Makro zum Einfügen einer Zeile in Tabelle
07.11.2017 15:22:17
Jenny
Super, vielen Dank, euch beiden.
;

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

Makro zum Einfügen einer Zeile in Excel-Tabelle


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Datei und wechsle zu dem Blatt, in dem du das Makro zum Einfügen einer Zeile erstellen möchtest.

  2. Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  3. Gehe zu Einfügen > Modul, um ein neues Modul zu erstellen.

  4. Kopiere den folgenden VBA-Code in das Modul:

    Sub NeueZeileEinfügen()
       Dim intZeile As Integer
       intZeile = Cells(Rows.Count, 1).End(xlUp).Row ' Bestimmt die letzte Zeile in Spalte A
       Cells(intZeile + 1, 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove ' Fügt eine neue Zeile unterhalb der letzten Zeile ein
       Rows(intZeile).Copy
       Rows(intZeile + 1).PasteSpecial Paste:=xlPasteFormats ' Überträgt die Formatierung
       Rows(intZeile + 1).PasteSpecial Paste:=xlPasteFormulas ' Überträgt die Formeln
       Application.CutCopyMode = False
    End Sub
  5. Speichere das Makro und schließe den VBA-Editor.

  6. Füge einen Button hinzu, um das Makro auszuführen. Gehe zu Entwicklertools > Einfügen > Button (Formularsteuerung), ziehe den Button auf dein Arbeitsblatt und weise das Makro NeueZeileEinfügen zu.

Jetzt kannst du mit einem Klick eine neue Zeile in deiner Excel-Tabelle einfügen, wobei die Formatierungen und Formeln übernommen werden.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004": Dieser Fehler tritt auf, wenn du versuchst, eine Zeile einzufügen, wenn die Tabelle leer ist. Stelle sicher, dass mindestens eine Zeile vorhanden ist.

  • Fehler: Formatierungen werden nicht übernommen: Achte darauf, dass du die CopyOrigin-Option richtig verwendest, um die Formate zu übertragen.


Alternative Methoden

Wenn das oben beschriebene Makro nicht deinen Anforderungen entspricht, kannst du auch die folgenden Methoden in Betracht ziehen:

  1. Manuelles Einfügen: Klicke mit der rechten Maustaste auf die Zeilennummer, um eine neue Zeile einzufügen. Dies erfordert jedoch manuelle Formatierung.

  2. Excel-Formeln: Verwende Formeln, um Daten zu generieren, anstatt sie manuell einzugeben. So kannst du die Struktur deiner Tabelle beibehalten.


Praktische Beispiele

Um das Makro effektiver zu nutzen, hier einige praktische Anwendungsszenarien:

  • Ergebniszeile in Excel einfügen: Wenn du regelmäßig eine Ergebniszeile oben in deiner Tabelle benötigst, passe das Makro an, um die neue Zeile oberhalb der Ergebniszeile einzufügen.

  • Formatierung anpassen: Du kannst das Makro so modifizieren, dass es nur spezifische Spalten formatiert, anstatt die gesamte Zeile.


Tipps für Profis

  • Makros in Excel hinzufügen: Du kannst mehrere Makros in ein Modul einfügen, um verschiedene Funktionen zu ermöglichen, wie das Einfügen von Zeilen oder das Kopieren von Formeln.

  • Sicherheitseinstellungen: Stelle sicher, dass die Makros in deinen Excel-Einstellungen aktiviert sind, um sie ohne Einschränkungen verwenden zu können.


FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um eine Zeile oberhalb einer bestimmten Zeile einzufügen?
Du kannst die Zeilennummer im Code anpassen, um die gewünschte Position festzulegen.

2. Funktioniert das Makro in allen Excel-Versionen?
Das Makro sollte in den meisten modernen Excel-Versionen (ab Excel 2007) funktionieren, jedoch können einige Funktionen je nach Version variieren.

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