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

Forumthread: Intelligente Tabelle Spalten über Makro löschen

Intelligente Tabelle Spalten über Makro löschen
02.03.2018 10:13:12
JayJay
Hallo zusammen,
ich bin völlig neu hier im Forum - deswegen bitte ich direkt mal sämtliches "Fehlverhalten" zu entschuldigen :)
Ich benötige mal eine kurze Hilfe zur Programmierung in VBA.
Ich habe auf einem Tabellenblatt eine intelligente Tabelle formatiert, die über ein Makro automatisch die letzte Spalte löschen soll (also die Tabelle quasi um eine Spalte verkleinern soll).
Ich habe mich schon durch das gesamt www gesucht, jedoch nichts passendes gefunden.
Was ich gefunden habe, wäre genau der andere Weg, nämlich automatisch über ein Makro eine Spalte hinzuzufügen:

Dim wrksht As Worksheet
Dim oListCol As ListColumn
Set wrksht = ActiveWorkbook.Worksheets("Tabelle1")
Set oListCol = wrksht.ListObjects(1).ListColumns.Add

Das funktioniert auch wunderbar.
Mein Ansatz zum Löschen war es, dass ich das ".Add" durch ein ".Delete" tausche - leider ohne Erfolg.
Kann mir hier jemand weiterhelfen?
Beste Grüße
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Intelligente Tabelle Spalten über Makro löschen
02.03.2018 10:25:53
Luschi
Hallo JayJay,
bei mir klappt das so: ActiveSheet.ListObjects("Tabelle1").ListColumns(3).Delete
Gruß von Luschi
aus klein-Paris
AW: Intelligente Tabelle Spalten über Makro löschen
02.03.2018 10:36:41
JayJay
Hallo Luschi,
danke für deine schnelle Hilfe - das funktioniert einwandfrei! Ich bin begeistert :)
Hast du für die umgekehrte Variante (Spalte hinzufügen) auch eine kürzere Möglichkeit als meine?
Beste Grüße
JayJay
Anzeige
AW: Intelligente Tabelle Spalten über Makro löschen
02.03.2018 11:03:15
Werner
Hallo,
oberer Code löscht immer die letzte Spalte der intelligenten Tabelle, unterer Code fügt eine neue Spalte dazu.
Public Löschen()
'löscht immer die letzte Spalte
With ActiveSheet.ListObjects("Tabelle1")
.ListColumns.Add
End With
End Sub
Public Neue_Spalte()
'fügt neue Spalte dazu
With ActiveSheet.ListObjects("Tabelle1")
.ListColumns(.ListColumns.Count).Delete
End With
Gruß Werner
Anzeige
AW: Intelligente Tabelle Spalten über Makro löschen
02.03.2018 11:29:59
JayJay
Hallo Werner,
dankeschön - funktioniert super!
Nur hast du bei deinen Codes "Delete" und "Add" vertauscht.
Beste Grüße
Gerne u. Danke für die Rückmeldung.
02.03.2018 11:47:55
Werner
Hallo,
du hast es ja bemerkt.
Gruß Werner

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Intelligente Tabelle Spalten über Makro löschen


Schritt-für-Schritt-Anleitung

Um eine Spalte in einer intelligenten Tabelle über ein Makro zu löschen, gehe wie folgt vor:

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

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

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

    Sub SpalteLoeschen()
       ActiveSheet.ListObjects("Tabelle1").ListColumns(ActiveSheet.ListObjects("Tabelle1").ListColumns.Count).Delete
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Führe das Makro aus, um die letzte Spalte der intelligenten Tabelle zu löschen.

Wenn du die Tabelle um mehr als eine Spalte verkleinern möchtest, kannst du die Zahl im .ListColumns-Argument anpassen.


Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht und gibt einen Fehler aus.

    • Lösung: Stelle sicher, dass der Name der intelligenten Tabelle korrekt ist. Du kannst den Namen im Tabellentool unter "Entwurf" überprüfen.
  • Fehler: Die falsche Spalte wird gelöscht.

    • Lösung: Ändere die Zahl in ListColumns(n) zu der Position der Spalte, die du tatsächlich löschen möchtest.

Alternative Methoden

Eine alternative Methode, um eine Spalte aus einer intelligenten Tabelle zu entfernen, ist die Verwendung des Excel-Datenfilters.

  1. Wähle die intelligente Tabelle aus.
  2. Klicke auf Daten und dann auf Filter.
  3. Wähle die Spalte aus, die du löschen möchtest, und filtere die Daten.
  4. Lösche die gefilterten Zeilen, wenn du sie nicht mehr benötigst.

Diese Methode ist besonders nützlich, wenn du eine Excel-Daten Tabelle löschen möchtest, anstatt sie über ein Makro zu bearbeiten.


Praktische Beispiele

  • Beispiel 1: Um die zweite Spalte zu löschen, ändere den Code wie folgt:

    Sub ZweiteSpalteLoeschen()
       ActiveSheet.ListObjects("Tabelle1").ListColumns(2).Delete
    End Sub
  • Beispiel 2: Wenn du eine intelligente Tabelle entfernen möchtest, kannst du folgenden Code verwenden:

    Sub IntelligenteTabelleEntfernen()
       ActiveSheet.ListObjects("Tabelle1").Delete
    End Sub

Tipps für Profis

  • Nutze die Möglichkeit, mehrere Spalten auf einmal zu löschen, indem du eine Schleife verwendest:

    Sub MehrereSpaltenLoeschen()
       Dim i As Integer
       For i = 1 To 3 ' Löscht die ersten drei Spalten
           ActiveSheet.ListObjects("Tabelle1").ListColumns(1).Delete
       Next i
    End Sub
  • Bevor du Änderungen vornimmst, solltest du die Tabelle sichern, um eine intelligente Tabelle rückgängig machen zu können, falls etwas schiefgeht.


FAQ: Häufige Fragen

1. Wie kann ich eine intelligente Tabelle in Excel entfernen?
Um eine intelligente Tabelle zu entfernen, wähle die Tabelle aus, gehe zu Tabellentools, klicke auf Entwurf und wähle Tabelle löschen.

2. Kann ich eine gelöschte Spalte wiederherstellen?
Das ist nur möglich, wenn du die Änderungen noch nicht gespeichert hast. Andernfalls musst du die Spalte manuell wieder hinzufügen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige