Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA - ans Ende der Tabelle neue Zeile inkl. Formatierung einfügen

Forumthread: VBA - ans Ende der Tabelle neue Zeile inkl. Formatierung einfügen

VBA - ans Ende der Tabelle neue Zeile inkl. Formatierung einfügen
11.01.2020 10:48:12
Matthias L

Hallo werte Gemeinde!
Ich habe folgendes "Problem":
Ich habe eine Mitgliederliste und diese wird stetig erweitert. Da jedoch der Verwender der Liste nur wenig mit Excel am Hut hat, ist es nun meine Aufgabe diese auf Vordermann zu bringen.
In dieser Mitgliederliste soll ein Button / VBA / Makro eingerichtet werden, so dass an die letzte Stelle der Tabelle ein neues Mitglied hinzugefügt werden kann.

  • A ; B ; C ; D

  • Nr. ; Name ; Geburtsdatum ; Alter

  • 1 ; Max Mustermann ; 9.9.1999 ; 20

  • 2 ; Elke Mustermann ; 9.9.1999 ; 20

  • Nun soll per Buttondruck ein Code ausgeführt werden, der automatisch eine formatierte Zeile ans Ende setzt. (z.B. soll die Nr 3 erst dann stehen, nachdem der Code ausgeführt wurde und noch nicht vorher)
    Ich danke schonmal für eure Hilfe und hoffe, dass euch die kurze Einführung reicht. Ansonsten fragt gerne.

    Betrifft: AW: VBA - ans Ende der Tabelle neue Zeile inkl. Formatierung einfügen
    Zeile = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
    benutze den Maklrorecorder.

    Betrifft: benutze eine "intelligenten Tabelle"
    Hallo Lucas
    Das geht auch ohne VBA mit einer intelligenten Tabelle.
    d.h erst wenn Du einen neuen Namen einträgst wird die Tabelle automatisch erweitert.
    Gruß Matthias
    Anzeige

    2
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: VBA - ans Ende der Tabelle neue Zeile inkl. Formatierung einfügen
    11.01.2020 10:48:12
    Matthias L
    Zeile = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
    benutze den Maklrorecorder.

    Betrifft: benutze eine "intelligenten Tabelle"
    Hallo Lucas
    Das geht auch ohne VBA mit einer intelligenten Tabelle.
    d.h erst wenn Du einen neuen Namen einträgst wird die Tabelle automatisch erweitert.
    Gruß Matthias
    Anzeige
    benutze eine "intelligenten Tabelle"
    11.01.2020 10:48:12
    Matthias L
    Hallo Lucas
    Das geht auch ohne VBA mit einer intelligenten Tabelle.
    d.h erst wenn Du einen neuen Namen einträgst wird die Tabelle automatisch erweitert.
    Gruß Matthias
    ;

    Forumthreads zu verwandten Themen

    Anzeige

    Infobox / Tutorial

    Neue Zeile in Excel-Tabelle mit VBA einfügen


    Schritt-für-Schritt-Anleitung

    Um eine neue Zeile am Ende einer Excel-Tabelle über VBA einzufügen und gleichzeitig die Formatierung beizubehalten, kannst du den folgenden Code verwenden:

    1. Öffne die Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

    2. Klicke im Menü auf Einfügen und wähle Modul.

    3. Füge den folgenden Code in das Modul ein:

      Sub NeueZeileEinfügen()
         Dim ws As Worksheet
         Set ws = ThisWorkbook.Sheets("DeinTabellenblatt") ' Passe den Namen des Tabellenblatts an
      
         ' Finde die letzte Zeile
         Dim letzteZeile As Long
         letzteZeile = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row + 1
      
         ' Füge eine neue Zeile ein und formatiere sie
         ws.Cells(letzteZeile, 1).Value = letzteZeile - 1 ' Die Nummer der Zeile
         ws.Cells(letzteZeile, 2).Value = "Neuer Name" ' Platzhalter für den Namen
         ws.Cells(letzteZeile, 3).Value = "Geburtsdatum" ' Platzhalter für das Geburtsdatum
         ws.Cells(letzteZeile, 4).Value = "Alter" ' Platzhalter für das Alter
      
         ' Kopiere die Formatierung von der vorherigen Zeile
         ws.Rows(letzteZeile - 1).Copy
         ws.Rows(letzteZeile).PasteSpecial Paste:=xlPasteFormats
         Application.CutCopyMode = False
      End Sub
    4. Schließe den VBA-Editor und kehre zu Excel zurück.

    5. Erstelle einen Button und verlinke ihn mit der NeueZeileEinfügen-Subroutine.

    Jetzt kannst du mit einem Button einen neuen Datensatz mit der gewünschten Formatierung an das Ende der Tabelle hinzufügen.


    Häufige Fehler und Lösungen

    • Fehler: "Laufzeitfehler 1004"

      • Lösung: Stelle sicher, dass der Tabellenblattname im Code korrekt ist. Ansonsten wird die Tabelle nicht gefunden.
    • Fehler: Formatierung wird nicht übernommen

      • Lösung: Überprüfe, ob die vorherige Zeile tatsächlich formatiert ist. Der Befehl PasteSpecial sollte die Formatierung übernehmen, wenn die vorherige Zeile korrekt kopiert wurde.

    Alternative Methoden

    Wenn du keine VBA-Lösung nutzen möchtest, kannst du auch eine intelligente Tabelle verwenden. Eine intelligente Tabelle passt sich automatisch an, wenn du neue Daten eingibst. So gehst du vor:

    1. Wähle den Bereich deiner Mitgliederliste aus.
    2. Klicke auf Einfügen und dann auf Tabelle.
    3. Aktiviere das Kontrollkästchen „Tabelle hat Überschriften“.
    4. Füge einfach einen neuen Namen ein, und die Tabelle wird sich automatisch erweitern.

    Diese Methode ist besonders nützlich, wenn du oft neue Daten hinzufügst, da sie die Formatierung und die Struktur automatisch beibehält.


    Praktische Beispiele

    Hier ist ein Beispiel für eine Mitgliederliste:

    Nr. Name Geburtsdatum Alter
    1 Max Mustermann 09.09.1999 20
    2 Elke Mustermann 09.09.1999 20
    3 Neuer Name Geburtsdatum Alter

    Mit dem VBA-Code kannst du schnell eine neue Zeile mit den gewünschten Werten hinzufügen, ohne die bestehende Formatierung zu verändern.


    Tipps für Profis

    • Verwende den Makrorecorder, um dir den Code für einfache Aufgaben automatisch generieren zu lassen. So kannst du lernen, wie VBA funktioniert.
    • Achte darauf, dass deine Tabelle als intelligente Tabelle formatiert ist, um die Vorteile der automatischen Erweiterung zu nutzen.
    • Teste deinen VBA-Code immer, bevor du ihn in einer produktiven Umgebung einsetzt, um unerwartete Fehler zu vermeiden.

    FAQ: Häufige Fragen

    1. Wie kann ich den VBA-Code anpassen?
    Du kannst die Werte im Code ändern, um spezifische Daten zu verwenden. Achte darauf, den Namen des Tabellenblatts korrekt anzugeben.

    2. Was ist eine intelligente Tabelle?
    Eine intelligente Tabelle in Excel passt sich automatisch an, wenn neue Daten eingegeben werden, und behält dabei die Formatierung und Formeln bei.

    3. Funktioniert dies in allen Excel-Versionen?
    Ja, der VBA-Code und die intelligente Tabelle sind in den meisten modernen Excel-Versionen verfügbar, darunter Excel 2010, 2013, 2016, 2019 und Office 365.

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige