Hintergrund:Auto Refresh Excel 2007 Pivot-Tabelle nach Daten in separatem Blatt aktualisiert von SQL Server DB
Ich habe drei Blätter in Excel.
- Eine Zusammenfassung mit einem Drehtisch, die Daten von # 2 unten
- ein Datenblatt, das Datum zieht aus einer SQL Server DB zieht. (Zieht einen Kategorietyp und einen Dollarwert)
- Ein Blatt, das über eine Schaltfläche verfügt, um sowohl die Daten als auch im Idealfall die Pivot-Tabelle zu aktualisieren.
Problem: Wenn ich auf die Schaltfläche klicken, frischt das Datenblatt richtig, aber die Pivot-Tabelle nicht. Diese Arbeitsmappe wird automatisch um 5 Uhr morgens ausgeführt und sendet die Ergebnisse als PDF an Personen. Daher muss ich herausfinden, wie diese Pivot-Tabelle aktualisiert werden kann, bevor die PDF generiert, gesendet und die Arbeitsmappe geschlossen wird.
Was ich versucht habe: Zuerst wird, wenn die Schaltfläche geklickt wird es läuft:
ActiveWorkbook.RefreshAll
Application.CalculateFull
Es macht den Datenblatt aktualisieren richtig, nur nicht der Schwenk.
Ich habe versucht:
- die folgenden Befehle zwischen den beiden oben genannten Befehle und nachdem beide ohne Erfolg Hinzufügen:
Sheets("Summary").PivotTables("PivotTable6").PivotCache.Refresh
Sheets("Summary").PivotTables("PivotTable6").RefreshTable
- ich versucht habe, zweimal diese beiden Befehle ausführen (Rücken an Rücken) so:
ActiveWorkbook.RefreshAll
Application.CalculateFull
ActiveWorkbook.RefreshAll
Application.CalculateFull
In der Hoffnung, dass es Daten im ersten Lauf erhalten würde, und eine erfolgreiche Pivot-Aktualisierung in der Sekunde haben. Hat nicht funktioniert.
- Ich habe versucht, Excel zu denken, zu betrügen ich geschlossen und wieder geöffnet, die Arbeitsmappe und reran dann die Auffrischungen: erfrischend
ThisWorkbook.Saved = True
Workbooks(1).Activate
ActiveWorkbook.RefreshAll
Application.CalculateFull
Der Grund, warum ich versuchte, dies liegt daran, dass nach der Arbeitsmappe ausgeführt wird (Pivot nicht) Ich spare und schließe. Ich öffne wieder (Pivot ist immer noch falsch, Daten sind richtig), ich wiederhole es, (Daten sind wieder richtig und gleich) und jetzt ist der Pivot korrekt. Also habe ich gehofft, das zu simulieren.
An diesem Punkt kann ich an nichts anderes denken. Ich bin an dem Punkt, an dem ich nicht glaube, dass Excel das kann. Eine Sache noch. Ursprünglich hatten wir die Daten direkt in die Pivot-Tabelle von SQL Server DB kommen, aber wir haben immer wieder diese Fehler, so dass wir einen anderen Ansatz nehmen wollten:
- entfernt Teil:
/xl/pivotTables/pivotTable1.xml
Teil. (PivotTable-Ansicht) - entfernte Teil:
/xl/pivotTables/pivotTable5.xml
Teil.(Pivottable-Ansicht) - entfernt Aufzeichnungen: Arbeitsmappe Eigenschaften von
/xl/workbook.xml
Teil (Arbeitsmappe)
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
<logFileName>error014800_01.xml</logFileName>
<summary>Errors were detected in file 'T:\Reports\RP\Archive\Historical Excel\01-11\RP_01-07-11.xlsm'</summary>
<removedParts summary="Following is a list of removed parts:">
<removedPart>Removed Part: /xl/pivotTables/pivotTable1.xml part. (PivotTable view)</removedPart>
<removedPart>Removed Part: /xl/pivotTables/pivotTable5.xml part. (PivotTable view)</removedPart>
</removedParts>
<removedRecords summary="Following is a list of removed records:">
<removedRecord>Removed Records: Workbook properties from /xl/workbook.xml part (Workbook)</removedRecord>
</removedRecords>
</recoveryLog>
Jede Hilfe wird sehr geschätzt.
Obwohl es interessant wäre zu sehen, ob es eine Lösung gab. Ich fand heraus, warum der Pivot-Tisch immer wieder kaputt ging. Ich habe ein Datumsfeld aus der Abfrage entfernt und die Pivot-Tabelle nicht mehr geöffnet. Grundsätzlich Versuch und Irrtum, alle Felder zu entfernen und zurück zu addieren, bis es brach. Nicht sicher, was an diesem einen Feld seltsam war. – Mark