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

Forumthread: Pivottabellen - Einträge löschen

Pivottabellen - Einträge löschen
Heinz
Hallo zusammen und einen guten Morgen,
kann mir bitte wer einen Tip geben, wie ich folgendes Problem lösen kann. Ich habe ein Template kreiert (*xlt) welches beim Öffnen automatisch die PivotTabelle mit Accessdaten aktualisiert. Soweit so gut, aber leider bleiben gewisse Informationen im Pivot erhalten. Sprich wenn ich einen Kunden analysiere (ie. Kundennummer 1) und später eine Analyse von Kundennummer 2 mache, finden sich im Feld Kundennummer sowohl der Kunde 1 + 2. Anmerkung Kunde 1 ohne Daten (was ja richtig ist) - nur die Info, das diese Kundennummer bereits analysiert wurde.
Wie schaffe ich es, daß alle Info´s auf Null gesetz oder der "Pivots cache" komplett gelöscht und keine Information mehr angezeigt wird.
Vielen Dank für Eure Hilfe!
Lg, Heinz
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Pivottabellen - Einträge löschen
14.10.2010 07:53:16
Luschi
Hallo Heinz
das folgende Makro bereinigt Unstimmigkeiten zwischen Quelldaten und Pivottabelle:

Sub DeleteOldPivotItemsWB()
'Löschen von nicht mehr verwendeten Einträgen in Pivot-Tabellen
'basierend auf MS-KB (Q202232)
'Wenn man sehr viel an der Pivot-Tabelle herumdoktert, also oft in der
'Struktur verändert, Daten reinkopiert oder löscht, dann kommt es zu
'Unstimmigkeiten zwischen den Ausgangsdaten und dem PivotCache der Pivottabelle.
'erstaunlich, daß auch Excel 2007 & 2010 immer noch von diesem Leiden betroffen sind
'Deshalb ab und zu dieses Makro starten
Dim ws As Worksheet, _
pt As PivotTable, pf As PivotField, pi As PivotItem
On Error Resume Next
For Each ws In ActiveWorkbook.Worksheets
For Each pt In ws.PivotTables
pt.RefreshTable
For Each pf In pt.PivotFields
For Each pi In pf.PivotItems
If pi.RecordCount = 0 And Not pi.IsCalculated Then
pi.Delete
End If
Next
Next
Next
Next
End Sub
Also Daten der Pivottabelle aktualisieren und dann das obere Makro starten.
Die folgende 2 Makros könnten dabei auch interessant sein:

Sub PivotCachesAnzeigen()
'Zählt alle Pivot-Tabelle und zeigt deren
'Datenquelle an
Dim p, anz, piv
For Each p In Worksheets
anz = anz + p.PivotTables.Count
Next
For Each p In ActiveWorkbook.PivotCaches
piv = piv & p.SourceData & vbLf
Next
MsgBox "Mappe enthält " & anz & " Pivot-Tabellen und " & _
vbLf & ActiveWorkbook.PivotCaches.Count & _
" Pivot-Datenquellen :" & vbLf & vbLf & piv
Set p = Nothing
End Sub
Sub PivotCachesAngleichen()
'von NoNet
'Wenn es mehrere Pivottabellen mit gleichen Ausgangsdaten gibt,
'dann kann es vorkommen, daß die Exceldatei sich aufbläht, da der PivotCache
'immer größer wird.
'Mit diesem Makro wird der PivotCach wieder angeglichen
Dim ws, ws2, p1, p2
For Each ws In Worksheets
For Each p1 In ws.PivotTables
For Each ws2 In Worksheets
For Each p2 In ws2.PivotTables
If ws.Name  ws2.Name Or p1.Name  p2.Name Then
If p1.SourceData = p2.SourceData Then
p2.CacheIndex = p1.CacheIndex
End If
End If
Next
Next
Next
Next
Set ws = Nothing
Set ws2 = Nothing
Set p1 = Nothing
Set p2 = Nothing
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Pivottabellen - Einträge löschen
14.10.2010 08:14:29
Heinz
Hallo, da kann ich nur sagen 1000 x Danke!!!!!!!!!!!!
Ich wünsche dir noch einen schönen Tag!!!
;

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

Pivottabellen Einträge effizient löschen


Schritt-für-Schritt-Anleitung

Um sicherzustellen, dass dein Excel-Dokument keine alten Daten in Pivottabellen anzeigt, kannst du die folgenden Schritte befolgen:

  1. Pivot-Tabelle aktualisieren: Stelle sicher, dass deine Pivot-Tabelle immer mit den neuesten Daten aus der Datenquelle aktualisiert wird. Du kannst dies tun, indem du die Pivot-Tabelle auswählst und auf Daten > Aktualisieren klickst.

  2. Makro zur Bereinigung verwenden: Nutze das folgende Makro, um nicht mehr verwendete Einträge in der Pivottabelle zu löschen:

    Sub DeleteOldPivotItemsWB()
       Dim ws As Worksheet, pt As PivotTable, pf As PivotField, pi As PivotItem
       On Error Resume Next
       For Each ws In ActiveWorkbook.Worksheets
           For Each pt In ws.PivotTables
               pt.RefreshTable
               For Each pf In pt.PivotFields
                   For Each pi In pf.PivotItems
                       If pi.RecordCount = 0 And Not pi.IsCalculated Then
                           pi.Delete
                       End If
                   Next
               Next
           Next
       Next
    End Sub
  3. PivotCache leeren: Um den PivotCache zu leeren, kannst du das Makro PivotCachesAngleichen verwenden, das sicherstellt, dass die PivotCaches nicht unnötig wachsen.

    Sub PivotCachesAngleichen()
       Dim ws, ws2, p1, p2
       For Each ws In Worksheets
           For Each p1 In ws.PivotTables
               For Each ws2 In Worksheets
                   For Each p2 In ws2.PivotTables
                       If ws.Name <> ws2.Name Or p1.Name <> p2.Name Then
                           If p1.SourceData = p2.SourceData Then
                               p2.CacheIndex = p1.CacheIndex
                           End If
                       End If
                   Next
               Next
           Next
       Next
    End Sub

Häufige Fehler und Lösungen

  • Fehler: Alte Kundennummern bleiben sichtbar
    Lösung: Stelle sicher, dass du das Makro zum Löschen alter Pivot-Items ausgeführt hast, nachdem du die Pivot-Tabelle aktualisiert hast.

  • Fehler: PivotCache leeren nicht möglich
    Lösung: Überprüfe die Datenquelle der Pivot-Tabelle. Wenn die Datenquelle nicht korrekt eingestellt ist, kann Excel den Cache nicht leeren.


Alternative Methoden

  • Manuelles Löschen: Du kannst alte Einträge auch manuell aus der Pivot-Tabelle entfernen. Klicke mit der rechten Maustaste auf den Eintrag und wähle Löschen.

  • Pivot-Tabelle neu erstellen: Wenn die Pivot-Tabelle zu viele alte Daten enthält, kann es einfacher sein, eine neue Pivot-Tabelle von Grund auf zu erstellen, anstatt den Cache zu leeren.


Praktische Beispiele

  1. Beispiel 1: Du hast eine Pivot-Tabelle, die Kundendaten aus Access anzeigt. Nach der Analyse von Kundennummer 1 möchtest du sicherstellen, dass nur die Daten von Kundennummer 2 angezeigt werden. Verwende das oben genannte Makro, um alte Einträge zu löschen.

  2. Beispiel 2: Wenn du häufig deine Datenquelle aktualisierst, kann das Makro PivotCachesAnzeigen hilfreich sein, um zu sehen, wie viele Pivot-Tabellen und Pivot-Caches in deinem Workbook vorhanden sind.


Tipps für Profis

  • Überlege, ob es sinnvoll ist, regelmäßig das Makro zum PivotCache löschen auszuführen, um die Dateigröße zu reduzieren und die Leistung zu verbessern.

  • Verwende die PivotTable-Funktionalität von Excel, um automatisierte Berichte zu erstellen, die regelmäßig aktualisiert werden.


FAQ: Häufige Fragen

1. Wie lösche ich den Pivot Cache in Excel?
Um den Pivot Cache zu löschen, kannst du ein Makro verwenden, das alle nicht mehr benötigten Pivot-Items entfernt.

2. Warum bleiben alte Daten in meiner Pivot-Tabelle sichtbar?
Das kann passieren, wenn die Pivot-Tabelle nicht aktualisiert wurde oder wenn die Datenquelle nicht korrekt verknüpft ist. Stelle sicher, dass du die Tabelle aktualisierst und das entsprechende Makro ausführst.

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