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

Forumthread: VBA Pivot Werte dynamisch erweitern

VBA Pivot Werte dynamisch erweitern
15.09.2020 17:00:09
Marcus
Hallo zusammen,
ich habe folgendes Problem:
Ich bekomme Rohdaten in einer Woche zugeschickt, vgl. Reiter A. Diese zeigen, wie oft LKW einen Ort anfahren. Hier kann ich nun eine Pivottabelle drüberlegen. Eine Woche später bekomme ich neue Daten und möchte nun, dass sich die Pivottabelle um die neuen Daten im Wertebereich erweitert. Wie kann man dieses Problem per VBA lösen? Die dynamische Verlängerung in den Zeilen könnte ich schon lösen.
Die Rohdaten sind hier nur vereinfacht in zwei Reitern dargestellt, in Wirklichkeit kopiere ich die Daten aus der Datei in einen Reiter "Rohdaten", welcher in der Exceldatei "Reporting" liegt.
Hier die Beispieldatei: https://www.herber.de/bbs/user/140246.xlsx Achtung: Ich habe einen zweiten Beitrag im Forum und nutze die gleiche Datei. Der Reiter Feiertage hat keine Bedeutung.
Würde mich freuen, wenn man mir helfen könnte.
Viele Grüße
Marcus
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Pivot Werte dynamisch erweitern
15.09.2020 17:51:07
Yal
Hallo Marcus,
anstatt den Daten Bereich inklusiv Zeile zu definieren ("A1:F200"), lege einfach nur die Spalten ("A:F") als Quelle. Dann muss die Pivottabelle nur aktualisiert werden.
Viel Erfolg
Yal
AW: VBA Pivot Werte dynamisch erweitern
16.09.2020 17:34:18
Marcus
Hallo Yal,
Danke für deinen Vorschlag. A:F geht, nur kommt am nächsten Tag oder Woche oder Monat Spalte G hinzu. Die Pivot erkennt die Spalte auch und zieht die Spalte in die Optionsfelder. Voraussetzung ist, dass die Pivot nicht auf A:F zugreift, sondern vorab eine Tabelle (Namens-Manager) festgelegt wird (letzte Zeile und letzte Spalte), auf welche die Pivot zugreift.
Das Problem: Diese neue Spalte soll nun in die Werte "aktiviert" werden. Ich will also das Häkchen automatisch setzten. Die Felder, welche in die Werte der Pivot sollen sind immer im gleichen Format: TT.MM.JJJJ TTTT (z.B. 01.08.2020 Samstag). Vllt. gibt es eine Möglichkeit die Felder auszulesen und alles was dem Format entspricht in die Werte zu aktivieren.
Viele Grüße
Marcus
Anzeige
AW: VBA Pivot Werte dynamisch erweitern
18.09.2020 10:38:48
Yal
Hallo Marcus,
eine Excel-Tabelle ist mehr als nur eine Aufnahme im Namensmanager. Gute Erklärung gibt es unter https://excelhero.de/excel-tabellen/excel-tabellen-ganz-einfach-erklaert/
Eine zusätzliche Spalte ist eine Änderung der Datenmodell (böse. Vermeiden). Anstatt jede Woche eine neue Spalte hinzufügen, sollte eine Spalte eingeführt werden, die das Merkmal Wochennummer (oder Datum) aufnimmt. Dann ist die Anzahl von Spalten und deren Inhalt immer gleich (stabile Datenmodell).
Das wird allgemein "entpivotisieren" ( https://www.youtube.com/watch?v=npzG-Br0GQs )benannt. Am Ende entsteht einen Starschema, was dann Pivottabellen-freundlich ist.
Viel Erfolg
Yal
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
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

Dynamisches Erweitern von Pivot-Tabellen in Excel


Schritt-für-Schritt-Anleitung

Um eine Pivot-Tabelle dynamisch zu erweitern, kannst du folgende Schritte befolgen:

  1. Datenbereich als Tabelle definieren: Markiere deinen Datenbereich und wähle "Als Tabelle formatieren" im Menü. Dadurch wird der Bereich der Pivot-Tabelle automatisch aktualisiert, wenn neue Daten hinzugefügt werden.

  2. Pivot-Tabelle erstellen: Gehe zu "Einfügen" > "PivotTable". Wähle die neu erstellte Tabelle als Datenquelle aus.

  3. Pivot-Tabelle um Spalte erweitern: Wenn du zusätzliche Daten in Form von Spalten erhältst, stelle sicher, dass die Pivot-Tabelle auf die gesamte Tabelle verweist, nicht auf einen festen Bereich (z.B. A:F).

  4. Pivot-Tabelle aktualisieren: Klicke mit der rechten Maustaste auf die Pivot-Tabelle und wähle "Aktualisieren", um die neuen Daten zu laden.

  5. VBA für automatische Erweiterung nutzen: Wenn du VBA verwenden möchtest, kannst du ein Makro erstellen, das die Pivot-Tabelle bei Bedarf aktualisiert. Hier ein einfaches Beispiel:

    Sub UpdatePivotTable()
       Dim pt As PivotTable
       Set pt = ThisWorkbook.Sheets("DeinPivotSheet").PivotTables("DeinPivotTableName")
       pt.RefreshTable
    End Sub

Häufige Fehler und Lösungen

  • Pivot-Tabelle zeigt nicht alle Daten an: Überprüfe, ob der Datenbereich korrekt definiert ist. Stelle sicher, dass die Quelle auf die gesamte Tabelle verweist.

  • Fehler beim Aktualisieren der Pivot-Tabelle: Wenn beim Aktualisieren der Pivot-Tabelle Fehler auftreten, kann es an einer nicht definierten Quelle liegen. Überprüfe die Namensreferenz im Namens-Manager.

  • Neue Spalten werden nicht erkannt: Wenn neue Spalten nicht automatisch in die Pivot-Tabelle aufgenommen werden, überprüfe, ob die Tabelle korrekt definiert ist und ob du die Pivot-Tabelle auf die gesamte Tabelle verweisen lässt.


Alternative Methoden

Eine alternative Methode zur Erhöhung der Flexibilität deiner Pivot-Tabelle ist die Verwendung von dynamischen benannten Bereichen:

  1. Dynamischen Bereich erstellen: Gehe zu "Formeln" > "Namens-Manager" und erstelle einen neuen Namen.

  2. Formel für dynamischen Bereich: Verwende die Formel =BEREICH.VERSCHIEBEN(Tabelle1!$A$1,0,0,ZÄHLENWENN(Tabelle1!$A:$A,"<>")-1,ANZAHL(Tabelle1!$1:$1)), um den Bereich dynamisch zu definieren.

  3. Pivot-Tabelle auf den dynamischen Bereich setzen: Beim Erstellen der Pivot-Tabelle wähle diesen benannten Bereich als Quelle aus.


Praktische Beispiele

Wenn du eine Pivot-Tabelle um eine neue Spalte erweitern möchtest, kannst du folgendes Beispiel verwenden:

  1. Rohdaten in Excel: Stelle sicher, dass deine Rohdaten in einer Tabelle sind, z.B. von A1:F200.
  2. Neue Daten hinzufügen: Füge eine neue Spalte in der Tabelle hinzu, z.B. G, und trage die entsprechenden Daten ein.
  3. Aktualisieren der Pivot-Tabelle: Klicke mit der rechten Maustaste auf die Pivot-Tabelle und wähle "Aktualisieren". Die neue Spalte wird nun in der Pivot-Tabelle erkannt und kann verwendet werden.

Tipps für Profis

  • Verwende VBA für komplexe Datenquellen: Wenn du regelmäßig neue Datenquellen erhältst, nutze VBA, um den Prozess der Aktualisierung und Erweiterung der Pivot-Tabelle zu automatisieren.

  • Definiere konsistente Datenformate: Achte darauf, dass alle Daten im gleichen Format vorliegen, besonders beim Hinzufügen neuer Spalten.

  • Nutze die Filterfunktion: Wenn du mit vielen Daten arbeitest, nutze die Filteroptionen in deiner Pivot-Tabelle, um die Übersichtlichkeit zu verbessern.


FAQ: Häufige Fragen

1. Wie kann ich den Datenbereich meiner Pivot-Tabelle ändern?
Du kannst den Datenbereich deiner Pivot-Tabelle anpassen, indem du die Pivot-Tabelle auswählst, dann zu "PivotTable-Analyse" gehst und "Datenquelle ändern" wählst.

2. Was passiert, wenn ich die Datenquelle ändere?
Wenn du die Datenquelle änderst, musst du die Pivot-Tabelle möglicherweise aktualisieren, um die neuen Daten anzuzeigen. Gehe dazu einfach auf "Aktualisieren".

3. Kann ich eine Pivot-Tabelle ohne VBA dynamisch erweitern?
Ja, du kannst den Datenbereich als Tabelle definieren, sodass die Pivot-Tabelle automatisch aktualisiert wird, wenn neue Daten hinzugefügt werden.

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