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

alle listobjects löschen bis auf 2

Forumthread: alle listobjects löschen bis auf 2

alle listobjects löschen bis auf 2
09.02.2018 22:12:04
Thomas
Hey leute,
ich bin auf der Suche nach einem Code mit dem ich in einem Tabellenblatt alle intelligenten Tabelle löschen kann bis auf zwei (sind mit namen bezeichnet)
gibts da möglichkeiten?
beste grüße
thomas
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: alle listobjects löschen bis auf 2
09.02.2018 22:29:09
Sepp
Hallo Thomas,
Sub deleteListobjects()
Dim objSh As Worksheet, objList As Object

For Each objSh In ThisWorkbook.Worksheets
  For Each objList In objSh.ListObjects
    Select Case objList.Name
      Case "myTable", "myOtherTable" 'Listobjects die NICHT gelöscht werden 
      Case Else: objList.Delete
    End Select
  Next
Next

End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0

Gruß Sepp

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Alle ListObjects in Excel löschen bis auf zwei


Schritt-für-Schritt-Anleitung

Um alle ListObjects (intelligente Tabellen) in einem Excel-Arbeitsblatt zu löschen, bis auf zwei spezifische, kannst du den folgenden VBA-Code verwenden. Dieser Code muss in das VBA-Editor-Fenster eingefügt werden:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
  3. Kopiere den folgenden Code und füge ihn in das Modul ein:
Sub deleteListobjects()
    Dim objSh As Worksheet, objList As Object

    For Each objSh In ThisWorkbook.Worksheets
        For Each objList In objSh.ListObjects
            Select Case objList.Name
                Case "myTable", "myOtherTable" 'Listobjects die NICHT gelöscht werden
                Case Else: objList.Delete
            End Select
        Next
    Next
End Sub
  1. Ändere die Namen "myTable" und "myOtherTable" im Code entsprechend den Namen deiner ListObjects, die du behalten möchtest.
  2. Schließe den VBA-Editor und führe das Makro aus, indem du ALT + F8 drückst, das Makro auswählst und auf Ausführen klickst.

Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs"

    • Lösung: Stelle sicher, dass die angegebenen Namen der ListObjects korrekt sind und dass die Arbeitsblätter existieren.
  • Fehler: "Das Arbeitsblatt kann nicht gefunden werden"

    • Lösung: Überprüfe, ob alle Arbeitsblätter im Workbook vorhanden sind und keine Tippfehler in den Namen vorliegen.

Alternative Methoden

Wenn du keine VBA nutzen möchtest, kannst du auch manuell vorgehen:

  1. Klicke auf die ListObject, die du löschen möchtest.
  2. Drücke die Entf-Taste, um die Tabelle zu löschen.
  3. Wiederhole diesen Schritt für alle ListObjects, die du entfernen möchtest, während du die beiden, die du behalten möchtest, ignorierst.

Praktische Beispiele

Angenommen, du hast drei ListObjects in deinem Arbeitsblatt: "Verkäufe", "Umsatz" und "Gewinn". Wenn du nur "Verkäufe" und "Umsatz" behalten möchtest, ändere den VBA-Code wie folgt:

Case "Verkäufe", "Umsatz"

Mit diesem angepassten Code werden nur die ListObjects "Verkäufe" und "Umsatz" erhalten, während "Gewinn" gelöscht wird.


Tipps für Profis

  • Sichere dein Workbook: Erstelle immer eine Sicherungskopie deines Excel-Dokuments, bevor du Makros ausführst, um Datenverlust zu vermeiden.
  • Makros automatisieren: Du kannst das Makro so anpassen, dass es automatisch beim Öffnen des Dokuments ausgeführt wird, indem du es in das Workbook_Open-Ereignis einfügst.

FAQ: Häufige Fragen

1. Wie kann ich den VBA-Editor öffnen?
Drücke ALT + F11 in Excel, um den VBA-Editor zu öffnen.

2. Funktioniert dieser Code in allen Excel-Versionen?
Der Code wurde in Excel 2016 getestet, sollte aber auch in früheren Versionen ab Excel 2010 funktionieren.

3. Was kann ich tun, wenn ich keine Erfahrung mit VBA habe?
Du kannst Online-Ressourcen oder Tutorials nutzen, um die Grundlagen von VBA zu lernen, oder jemanden um Hilfe bitten, der Erfahrung damit hat.

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