Freigeben über

Problem mit PivotTable.RefreshTable und der Aktualisierung der PivotTable-Datenquelle

Anonym
2014-07-22T08:26:59+00:00

Hallo zusammen,

habe ein VBA Problem mit PivotTable.RefreshTable und der Aktualisierung der PivotTable-Datenquelle.

Dieses Problem tritt erst seit der Umstellung auf Office 2013 auf!

Grundsätzlich ist die zugrundeliegende Datenquelle Änderungen unterworfen und bisher hat sich die PivotTable-Datenquelle immer korrekt angepaßt (automatisch).

Jetzt passiert folgendes:

Ich konnte das Problem soweit einschränken, dass ich die Datenquelle explizit NICHT mehr verändere. Lediglich meine VBA Berechnungen laufen mehrfach hintereinander.

Dabei ist mir aufgefallen, dass bei jedem Lauf Excel in der PivotTable-Datenquelle die letzte Zeile heruntersetzt!

  1. Lauf: Zeile 10071 (letzteZeile-PivotDatenquelle)
  2. Lauf: Zeile 7976 (letzteZeile-PivotDatenquelle)
  3. Lauf: Zeile 5819 (letzteZeile-PivotDatenquelle)
  4. Lauf: Zeile 3662 (letzteZeile-PivotDatenquelle)
  5. Lauf: Zeile 2069 (letzteZeile-PivotDatenquelle)

Nach dem 5. Lauf tritt das Problem auf, weil die Datenquelle eigentlich 2136 Zeilen umfaßt. Das heißt nach dem 5. Lauf sind meine Berechnungen FEHLERHAFT!

Jetzt ändere ich die Datenquelle manuell auf 10000 und starte einen weiteren Lauf.

Die Berechnung ist jetzt wieder korrekt, aber die letzte Zeile der Datenquelle steht danach auf 7843. Das Spielchen kann man jetzt noch 4x wiederholen und dann ist die Berechnung wieder falsch.

Das Delta der Änderungen von einem Lauf zum nächsten war in 3 Fällen 2157 Zeilen!

Natürlich könnte ich im Quellcode über

PivotTables("PIVSUMME").ChangePivotCache ActiveWorkbook.PivotCaches _

.Create(SourceType:=xlDatabase, SourceData

die SourceData automatisch setzen lassen,

aber mein Problem ist, dass ich noch jede Menge weiterer Pivot-VBA Berechnungen am laufen habe und eigentlich keine Lust habe überall den Sourcecode zu ändern.

Ist das ein Bug oder läuft das unter Feature? Unter Office 2010 und früher hat sich Excel nicht so verhalten!

Danke für Eure Hilfe und Tipps

Klaus

Microsoft 365 und Office | Excel | Für Zuhause | Windows

Gesperrte Frage. Diese Frage wurde aus der Microsoft-Support-Community migriert. Sie können darüber abstimmen, ob sie hilfreich ist, aber Sie können keine Kommentare oder Antworten hinzufügen oder der Frage folgen.

0 Kommentare Keine Kommentare

5 Antworten

Sortieren nach: Am hilfreichsten
  1. Anonym
    2014-08-07T13:10:29+00:00

    Hallo Klaus,

    ich denke hier im Answers Forum wirst du nicht alt zu viele finden, die sich mit PivotTablen und vor allem mit der Aktualisierung der PivotTable-Datenquellen auseinandersetzen.

    Stelle deine Frage am besten noch einmal in unserem MSDN Forum.

    Gruß

    Philipp Ben.

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare
  2. Anonym
    2014-07-22T10:09:42+00:00

    Hallo Claus,

    mein Coding ist:

    Sheets(Tabelle).PivotTables(PivotName).RefreshTable

    Die Beschreibung von Microsoft lautet:

    "Aktualisiert den PivotTable-Bericht mit den Quelldaten. Gibt bei erfolgreicher Aktualisierung TrueTrue zurück"

    Das Problem ist nur, dass die Quelldaten-Verweise im Hintergrund unbemerkt geändert werden!

    Danke für Deine Hilfe

    Klaus

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare
  3. Anonym
    2014-07-22T09:40:33+00:00

    Hallo Klaus,

    ich habe xl2013 noch nicht installiert und kann es daher nicht bestätigen.

    Stimmt deine Syntax zur Aktualisierung?

    Ich verwende dazu:

    ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh

    Mit freundlichen Grüßen

    Claus

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare
  4. Anonym
    2014-07-22T09:30:56+00:00

    Hallo Claus,

    mein Problem ist, dass VBA unter Office 2010 dieses Verhalten nicht gezeigt hat. Unter Office 2010 und früher hat im Prinzip die Aktualisierung über PivotTables(PivotName).RefreshTable genügt und die Datenquelle hat sich automatisch korrekt angepaßt (jahrelange Erfahrung).

    Unter Office 2013 scheint dieser Automatismus nicht mehr wie gewohnt zu funktionieren und ich muß die Datenquelle mit den von Dir beschriebenen Methoden korrekt setzen. Das bedeutet für mich, dass ich das Coding von x Projekten ggf. anpassen muß.

    Kannst Du diese Verhaltensänderung unter Office 2013 bestätigen?

    Danke für Deine Hilfe

    Klaus

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare
  5. Anonym
    2014-07-22T08:45:58+00:00

    Hallo Klaus,

    ohne deine Mappe und den Code zu kennen, ist eine konkrete Hilfe nicht möglich.

    Bei Datenquellen, die sich ständig verändern, bevorzuge ich einen dynamischen Bereichsnamen für den Datenbereich und gebe diesen als Quelle für die Pivot-Tabelle an.

    Du kannst auch deinen Datenbereich als Tabelle formatieren und diese Tabelle als Quelle angeben.

    In beiden Fällen passt sich die Pivot-Tabelle exakt dem aktuellen Datenbereich an.

    Mit freundlichen Grüßen

    Claus

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare