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