Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
816to820
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

PivotTable Auswahlbox resetten

PivotTable Auswahlbox resetten
13.11.2006 15:04:00
Ronny
Hi Excel Experten,
ich hoffe ihr könnt mir bei meinem Problem helfen. Ich habe mehrere Excel-Tabellen, welche über einen Server jeden Tag neue Messwerte erhalten und diese somit automatisch immer in die selbe Spalte eingetragen werden. Alle diese Messwerte werden anschließend in einen PivotTable-Bericht aufgenommen, um so schneller Zugriff auf die gewünschten Messwerte zu haben. Der PivotTable-Bericht besteht nur aus Zeilenfeldern und einem Seitenfeld. Die Zeilenfelder sind die Messwerte und das Seitenfeld ist das Datumsfeld. Um die Messwerte ordentlich dem Datum nach zu gliedern wurde ein weiteres Datumsfeld an den Anfang der Zeilenfelder gesetzt, da der PivotTable-Bericht ja bekanntlich nach dem ersten Feld alle anderen sortiert.
Vorteil des Pivotberichts:
Wenn ich Wissen möchte an welchen Tag x mein gewählter Mess-Wert y (z.B. 50kg) erzielt wurde, dann kann durch klicken auf die Auswahlbox der entsprechenden Spalte im Zeilenbereich (z.B. Gewicht Äpfel) mir schnell den gewünschten Messwert y raussuchen. Besonders vorteilhaft ist dabei, dass der Pivotbericht alle Messwerte sortiert in dieser Auswahlbox und mir vom kleinsten angefangen bis zum größten alle auf Listet!
Mein Problem:
ist nun, dass sobald ein neuer Messwert dazukommt registriert ihn zwar der PivotTable-Bericht und nimmt ihn in seine Auswahlbox mit auf, aber setzt ihn nicht sortiert ein, sondern ans Ende des Auswahlboxfenster!
Meine Frage nun:
Wie kann ich bei jeden Start von meiner Excel-Datei allen Pivotberichten den Befehl geben, dass sie in die Auswahlbox nicht nur die neuen Mess-Werte neu aufnehmen sollen (was ja Problemlos funktioniert, da der Zeilenbereich definiert ist), sondern diese auch mit einsortieren sollen vom kleinsten bis größten Wert?
Hoffe einer von euch kennt dazu nen VBA-Code bzw. eine Lösung? Bin für jede Hilfe dankbar ^^
Mfg,
Ronny

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PivotTable Auswahlbox resetten
14.11.2006 10:11:16
Heide_Tr
hallo Ronny,
mit folgendem Code kannst Du den Refresh anstoßen:


'Pivots aktualisieren
   For Each ws In ActiveWorkbook.Worksheets
     For Each pt In ws.PivotTables
       pt.PivotCache.Refresh
       pt.PivotCache.MissingItemsLimit = xlMissingItemsNone
     Next pt
   Next ws


viele Grüße. Heide
Anzeige
AW: PivotTable Auswahlbox resetten
14.11.2006 11:40:54
Ronny
Hallo Heide,
leider klappt der CODE noch nicht, er aktuallisiert mir zwar den Pivotbericht aber dass wollte ich ja nicht, sondern ich wollte, dass er die Liste aller Auswahlboxen der einzelnen Pivotfelder aktuallisiert, so dass diese vom kleinsten bis größten Wert sich wieder anordnen! Momentan liegen halt die neu dazugekommen Werte ganz unten in der Liste z.B. Spalte 1 im Zeilenbereich = "Äpfel Gewicht [kg]" gibt mir in der Pivotauswahlbox 2, 3, 5, 7, 10, 15, 20, 4, 8, 9 aus, da 4, 8 und 9 zum Zeitpunkt der Pivotberichterstellung noch nicht bekannt waren (weil der Tag noch nicht erreicht war) hat er diese ans Ende der Pivotauswahliste gesetzt. Nun möchte ich halt dass er die Werte 4, 8 und 9 miteinordnet.
Schön wäre es auch wenn er alle Werte aus der jeweiligen Pivotauswahlliste löscht, die es nicht mehr gibt im Pivotquellbereich. Dass tut der CODE auch nicht, sowiet ich dies getestet habe.
Hast du oder sonst wer ne Idee wie man dies den Pivotbericht per VBA befehlen kann?
Mfg,
Ronny
Anzeige
AW: PivotTable Auswahlbox resetten
14.11.2006 12:13:42
Heide_Tr
hallo Ronny,
benutzt Du eine Excelversion, die älter als 2003 ist? Dann funktioniert o.g. Code noch nicht (andernfalls macht er genau, was Du willst: die neu hinzugekommenen sind an der richtigen (wie sortierten) Stelle und die alten nicht mehr enthalten.
Für die alten Excel-Versionen hab ich im Web folgenden Code gefunden:


Sub DeleteOldItemsWB()
'gets rid of unused items in PivotTable
' based on MSKB (202232)
Dim ws As Worksheet
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
On Error Resume Next
For Each ws In ActiveWorkbook.Worksheets
  For Each pt In ws.PivotTables
    pt.RefreshTable
    pt.ManualUpdate = True
    For Each pf In pt.VisibleFields
      If pf.Name <> "Data" Then
        For Each pi In pf.PivotItems
          If pi.RecordCount = 0 And _
            Not pi.IsCalculated Then
            pi.Delete
          End If
        Next pi
      End If
    Next pf
    pt.ManualUpdate = False
    pt.RefreshTable
  Next pt
Next ws


Probier's doch mal damit.
viele Grüße. Heide
Anzeige
AW: PivotTable Auswahlbox resetten
14.11.2006 12:58:39
Ronny
Hi Heide,
das Löschen der alten Einträge funktioniert nun aber das neu sortieren so dass alle neuen Werte mit eingeordnet werden immer noch nicht. Alle neuen Werte werden immernoch ans Ende der Auswahlboxliste gestellt.
Gibts dafür auch ne Lösung von dir? Würde mich sehr darüber freuen ^^
Mfg,
Ronny
AW: PivotTable Auswahlbox resetten
14.11.2006 13:29:39
Heide_Tr
hallo Ronny,
sind Deine Daten im Pivot so sortiert, wie sie auch in der Liste sortiert sein sollen?
viele Grüße. Heide
AW: PivotTable Auswahlbox resetten
14.11.2006 13:59:25
Ronny
Hallo Heide,
nein die Daten bei mir im Pivotbericht sollen nach Datum äußerlich sortiert werden, so dass ich zu jeden Messwert immer das entsprechende Datum bekomme. Dass heißt die List an Daten die der Pivotbericht aus dem Queelbereich liest ist nicht vom größten bis kleinsten Wert geordnet, sondern so wie die Messwerte gerade aufgetreten sind (=durcheinander). Nun ordnet der Pivotbericht wenn man ihn erstellt alle Daten günstigerweise in der jeweiligen Pivotauswahlbox so ein, dass die vom kleinsten bis größten Wert angezeigt werden. Jedoch da der Pivotquellbereich jeden Tag neue Daten dazubekommt nimmt er diese brav auf aber macht den Fehler die neuen Messdaten ans Ende der PivotAuswahlBoxListe zu setzen. Der Nachteil ist, dass man zwar konfortabel zu Tag x alle Werte y sich rauszusuchen kann, aber eben nicht konfortabel einen bestimmten Wert y-gesucht (durch Auswahl in der Auswahlbox von kleinsten bis größten Wert) den entsprechenden Tag x mit allen anderen Messwerten y!
Ich hoffe du verstehst was ich meine? ^^
Mfg,
Ronny
Anzeige
AW: PivotTable Auswahlbox resetten
14.11.2006 15:02:27
Heide_Tr
hallo Ronny,
nein, verstehe ich nicht. Sorry.
Ob Deine Quelldaten sortiert sind oder nicht ist irrelevant.
Der Pivotbericht sortiert die Variablen im Zeilen-, Seiten- und Spaltenbereich, wenn man es definiert. Entsprechend dieser Sortierung wird die Selektionsbox aufgebaut.
Vielleicht fehlt Dir die Sortierung der Variablen? Rechte Maustaste auf dem betreffenden Feld / Feldeigenschaften / weitere.../ Sortieroptionen.
viele Grüße. Heide
AW: PivotTable Auswahlbox resetten
15.11.2006 10:37:42
Ronny
Hi Heide,
die Einstellung bei Sortieroption macht genau dass was ich wollte und zwar nur das sortieren in der Auswahlbox. ABER ich habe 1200 Pivotfelder verteilt über 7 Pivotberichte und die Einstellung gilt immer NUR FÜR EIN PIVOTFELD, wie kann ich also per VBA-CODE dass so anstossen, dass alle 1200 Pivotfelder oder zumindest jeder Bericht die Auswahlboxen der Felder Absteigend sortiert?
Wäre dir echt dankbar für Lösung ^^
Mfg,
Ronny
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige