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

Forumthread: Intelligente Tabellen untereinander einfügen

Intelligente Tabellen untereinander einfügen
07.02.2018 21:23:34
Thomas
Hey Leute,
ich bastle gerade an Intelligenten Tabellen rum.
Ich habe ein bestehendes Tabellenblatt und dort eine intelligente Tabelle.
dort werden mittels Filter Werte eingefügt und gleich als ListObjects formatiert.
Solange das Blatt leer ist und ich das erste Listobject einfüge funktioniert das auch, wenn ich aber wieder den Filter betätige fügt es keine neue Tabelle unter der bestehenden ein.
Ich bin am verzweifeln
With Tabelle12
lngLastRowEg = Sheets("Ergebnisse").Cells(Rows.Count, 1).End(xlUp).Row
Set LO = .ListObjects.Add(SourceType:=xlSrcRange, _
Source:=Range("A1:X" & lngLastRowEg), xlListObjecthasheaders:=xlYes)
End With
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Intelligente Tabellen untereinander einfügen
07.02.2018 22:10:14
Peter(silie)
Hallo,
hast du eine Beispiel Mappe für uns?
So wird es schwer dir zu helfen, keiner baut gerne Dateien nach.
Nebenbei, lass die hungarian notation weg, also ein lng vor einem Long usw.
Es ist zwar für viele eine Angewohnheit bei VB, aber nirgendwo sonst verwendet man es.
Zumal es unnötig ist...
Wenn eine Variable die letzte Zeile enthählt, dann kann ich sie auch einfach nur lastRow nennen.
verwende pascalCase für private und CamelCase für public variablen.
Den Variablen Typen in den Namen einzufügen heißt für mich, dass du dir keine gedanken über die Lesbarkeit deines Codes machst.
Anzeige
AW: Intelligente Tabellen untereinander einfügen
07.02.2018 22:17:36
fcs
Hallo Thomas,
grundsätzlich kannst du in Excel keine Tabelle einfügen, wennan der Einfügeposition bereits eine Tabelle vorhanden ist.
Du must also dein Makro variabler gestalten.
Für mich ist nach deiner Beschreibung nicht klar, ob du jeweils eine neue Tabelle für eingefügte Daten erstellen willst oder ob die vorhandene Tabelle "nur" verlängert werden soll.
Zum verlängern musst du die Resize-Methode des Listobjects verwenden.
D.h. gibt es noch kein Listobject im Blatt, dann Listobject Hinzufügen, wie in deinem Makro sonst Größe anpassen mit Resize-Methode.
Wenn jeweils eine neue Tabelle für die eingefügten Daten erstellt werden soll, dann musst du die Einfügeposition jeweils den vorhandenen Daten ermitteln, am Besten mit einer Zwischenzeile zwishen den Tabellen.
Ohne eine Beispieldatei ist weitere Hilfe aber shwierig und das komplette Makro solte inder Datei vorhanden sein.
Gruß
Franz
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Intelligente Tabellen untereinander einfügen in Excel


Schritt-für-Schritt-Anleitung

  1. Vorbereitung der Daten: Stelle sicher, dass du eine intelligente Tabelle in Excel erstellt hast. Du kannst dies tun, indem du die Daten auswählst und auf „Als Tabelle formatieren“ klickst.

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

  3. Einfügen eines neuen Moduls: Klicke mit der rechten Maustaste auf „VBAProject (dein Arbeitsmappename)“ und wähle „Einfügen“ > „Modul“.

  4. Code einfügen: Füge den folgenden Code in das Modul ein, um eine neue intelligente Tabelle zu erstellen:

    Sub NeueIntelligenteTabelleEinfügen()
        Dim lngLastRowEg As Long
        Dim LO As ListObject
    
        With Sheets("Ergebnisse")
            lngLastRowEg = .Cells(.Rows.Count, 1).End(xlUp).Row
            If lngLastRowEg = 0 Then
                Set LO = .ListObjects.Add(SourceType:=xlSrcRange, _
                    Source:=.Range("A1:X" & lngLastRowEg), xlListObjectHasHeaders:=xlYes)
            Else
                ' Hier kannst du die Resize-Methode verwenden
                Set LO = .ListObjects(1)
                LO.Resize .Range("A1:X" & lngLastRowEg)
            End If
        End With
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor und führe das Makro aus, um die intelligente Tabelle zu erstellen oder zu erweitern.


Häufige Fehler und Lösungen

  • Fehler: "Kann keine Tabellen einfügen, wenn bereits eine vorhanden ist."

    • Lösung: Verwende die Resize-Methode, um die bestehende Tabelle zu erweitern, anstatt eine neue zu erstellen.
  • Fehler: "Die Tabelle wird nicht aktualisiert."

    • Lösung: Stelle sicher, dass die Datenquelle korrekt definiert ist und dass du den Filter nicht aktiv hast, wenn du die Tabelle erstellst.

Alternative Methoden

  • Excel Tabelle in zwei Tabellen teilen: Wenn du die Daten aufteilen möchtest, kannst du sie in zwei unterschiedliche Bereiche verteilen und für jeden Bereich eine neue intelligente Tabelle erstellen.

  • Verknüpfung von Tabellen: Du kannst auch mehrere intelligente Tabellen in unterschiedlichen Blättern verknüpfen, um eine bessere Übersicht zu erhalten.


Praktische Beispiele

  • Beispiel 1: Wenn du eine Tabelle mit Verkaufsdaten hast und die monatlichen Daten in einer neuen Tabelle festhalten möchtest, kannst du das oben beschriebene Makro anpassen, um die neuen Daten unter der bestehenden Tabelle anzufügen.

  • Beispiel 2: Verwende die Formel =Tabelle1[Spalte1], um Daten zwischen intelligenten Tabellen zu verknüpfen.


Tipps für Profis

  • VBA Hungarian Notation: Obwohl einige Programmierer die hungarian notation verwenden, wird empfohlen, klare und beschreibende Namen zu wählen, um die Lesbarkeit des Codes zu erhöhen.

  • Regelmäßige Backups: Mache regelmäßig Backups deiner Excel-Dateien, insbesondere wenn du häufig mit VBA arbeitest.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass meine intelligente Tabelle immer aktualisiert wird?
Du kannst die Option „Tabelle aktualisieren“ aktivieren, wenn du eine neue Zeile hinzufügst.

2. Was kann ich tun, wenn ich eine bestehende intelligente Tabelle nicht erweitern kann?
Überprüfe, ob die Tabelle in einer gesperrten Zelle ist oder ob andere Makros aktiv sind, die die Daten beeinflussen könnten.

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