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

Forumthread: VBA-Befehl für Tabellenzeilen löschen

VBA-Befehl für Tabellenzeilen löschen
25.07.2018 08:22:27
Michael
Hallo Zusammen,
ich habe in einem Blatt mehrere "intelligente" Tabellen.
Mit VBA möchte ich gerne in bestimmten Tabellen den Befehl (aus dem Kontextmenü): Tabellenzeilen löschen verwenden.
Ich finde die Syntax weder in der Fachliteratur, noch im Internet.
Vielen Dank und Gruß
Michael
Anzeige

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

Betreff
Datum
Anwender
Anzeige
In ListObjects Zeilen löschen...
25.07.2018 09:03:49
Case
Hallo Michael, :-)
... geht so der Spur nach: ;-)
ActiveSheet.ListObjects("Tabelle23").ListRows("8").Delete
Oder mehrere Zeilen: ;-)
ActiveSheet.ListObjects("Tabelle23").ListRows(2).Range.Resize(3).Delete shift:=xlUp
Die gerade aktive Zeile in einem ListObject: ;-)
Cells(ActiveCell.Row, ActiveCell.Column).EntireRow.Delete
Anpassungen nicht vergessen (Name der Tabelle). ;-)
Servus
Case

Anzeige
leider Fehlermeldung
25.07.2018 09:43:29
Michael
Hallo Case,
vielen Dank für Deine schnelle Antwort. Diese Befehle hatte ich gesucht!
Leider bekomme ich, wenn ich am Ende einer Tabelle etwas löschen will, die folgende Fehlermeldung:
Dieser Vorgang ist unzulässig: Es wird versucht, Zellen in eine Tabelle im Arbeitsblatt zu verschieben.
Kannst Du damit etwas anfangen?
Gruß und vielen Dank
Anzeige
Könntest Du mal...
25.07.2018 10:16:06
Case
Hallo Michael, :-)
... eine Beispieldatei hochladen? Dann kann man am "offenen Herzen" testen. ;-)
Servus
Case

Gelöst!
25.07.2018 10:45:15
Michael
Hallo Case,
ich habe meinen Fehler gerade gefunden. Bei Range.Resize(3) habe ich einen Wert eingegeben, der noch eine weitere Zeile außerhalb der "intelligenten" Tabelle erfasst. Dann kommt die besagte Fehlermeldung.
Man muss also aufpassen, dass man immer mit den Parametern innerhalb der Tabelle bleibt.
Ich danke Dir ganz herzlich für Deine Unterstützung.
Gruß
Michael
Anzeige
;

Forumthreads zu verwandten Themen

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

VBA-Befehl für Tabellenzeilen löschen in Excel


Schritt-für-Schritt-Anleitung

Um in einer Excel-Tabelle mit VBA Tabellenzeilen zu löschen, kannst Du die folgenden Schritte befolgen:

  1. Öffne Excel und gehe zu dem Arbeitsblatt, das die intelligente Tabelle enthält.

  2. Öffne den VBA-Editor, indem Du ALT + F11 drückst.

  3. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)".
    • Wähle Einfügen > Modul.
  4. Gib den folgenden VBA-Code ein, um eine bestimmte Zeile in einer intelligenten Tabelle zu löschen:

    ActiveSheet.ListObjects("Tabelle23").ListRows(8).Delete
  5. Um mehrere Zeilen zu löschen, kannst Du den Code anpassen:

    ActiveSheet.ListObjects("Tabelle23").ListRows(2).Range.Resize(3).Delete Shift:=xlUp
  6. Um die aktive Zeile zu löschen, benutze diesen Befehl:

    Cells(ActiveCell.Row, ActiveCell.Column).EntireRow.Delete

Häufige Fehler und Lösungen

Ein häufiger Fehler, den Du beim Löschen von Zeilen in intelligenten Tabellen mit VBA treffen kannst, ist:

  • Fehlermeldung: "Dieser Vorgang ist unzulässig: Es wird versucht, Zellen in eine Tabelle im Arbeitsblatt zu verschieben."
    • Lösung: Achte darauf, dass die Zeilen, die Du löschen möchtest, innerhalb der Grenzen der intelligenten Tabelle liegen. Wenn Du Range.Resize verwendest, stelle sicher, dass der Wert nicht über die Anzahl der Zeilen in der Tabelle hinausgeht.

Alternative Methoden

Wenn Du keine VBA-Befehle verwenden möchtest, kannst Du auch die folgenden Methoden zum Löschen von Zeilen in Excel verwenden:

  • Manuelles Löschen: Wähle die Zeile(n) in der Tabelle aus, klicke mit der rechten Maustaste und wähle „Zeile löschen“.
  • Tastenkombination: Wähle die Zeile(n) aus und drücke STRG + - (Minus), um sie zu löschen.

Praktische Beispiele

Hier sind einige praktische Beispiele, die Dir helfen können, die Befehle besser zu verstehen:

  1. Einzelne Zeile löschen:

    ActiveSheet.ListObjects("Tabelle1").ListRows(1).Delete
  2. Mehrere Zeilen löschen:

    ActiveSheet.ListObjects("Tabelle1").ListRows(2).Range.Resize(2).Delete Shift:=xlUp
  3. Alle Zeilen in einer Tabelle löschen:

    Dim tbl As ListObject
    Set tbl = ActiveSheet.ListObjects("Tabelle1")
    tbl.DataBodyRange.Delete

Tipps für Profis

  • Verwende Variablen: Um Deinen Code flexibler zu gestalten, speichere die Tabellennamen und Zeilenindizes in Variablen.

  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um unerwartete Fehler während der Ausführung Deines Codes abzufangen. Zum Beispiel:

    On Error Resume Next
    ActiveSheet.ListObjects("Tabelle23").ListRows(8).Delete
    On Error GoTo 0
  • Testen: Teste Deinen Code mit einer Kopie Deiner Excel-Datei, um Datenverlust zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich eine gesamte Tabelle in Excel mit VBA löschen? Um eine gesamte Tabelle zu löschen, kannst Du den folgenden Befehl verwenden:

ActiveSheet.ListObjects("Tabelle1").Delete

2. Was passiert, wenn ich versuche, eine Zeile außerhalb der Tabelle zu löschen? Wenn Du versuchst, eine Zeile außerhalb der intelligenten Tabelle zu löschen, erhältst Du eine Fehlermeldung. Stelle sicher, dass der Index der zu löschenden Zeile innerhalb der Grenzen der Tabelle liegt.

3. Wie kann ich den Inhalt einer Tabelle mit VBA leeren? Um den Inhalt einer Tabelle zu leeren, kannst Du dies tun:

ActiveSheet.ListObjects("Tabelle1").DataBodyRange.ClearContents

4. Gibt es eine Möglichkeit, alle intelligenten Tabellen in einem Arbeitsblatt zu löschen? Ja, Du kannst alle intelligenten Tabellen in einem Arbeitsblatt mit einer Schleife löschen:

Dim tbl As ListObject
For Each tbl In ActiveSheet.ListObjects
    tbl.Delete
Next tbl

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