【发布时间】:2011-06-07 11:42:37
【问题描述】:
背景:
我在 Excel 中有三张工作表。
- 带有数据透视表的汇总表,可从下面的 #2 中提取数据
- 从 SQL Server DB 中提取数据的数据表。 (拉出一个类别类型和一个美元值)
- 具有用于刷新数据和理想情况下数据透视表的按钮的工作表。
问题: 当我单击按钮时,数据表会正确刷新,但数据透视表不会。该工作簿在早上 5 点自动运行,并将结果以 PDF 格式发送给人们,因此我必须想办法在 PDF 生成、发送和工作簿关闭之前刷新数据透视表。
我尝试过的: 首先,当按钮被点击时,它会运行:
ActiveWorkbook.RefreshAll
Application.CalculateFull
它确实正确地更新了数据表,而不是枢轴。
我试过了:
- 在上述两个命令之间和之后添加以下命令均无济于事:
Sheets("Summary").PivotTables("PivotTable6").PivotCache.Refresh
Sheets("Summary").PivotTables("PivotTable6").RefreshTable
- 我曾尝试两次(背靠背)运行这两个命令,如下所示:
ActiveWorkbook.RefreshAll
Application.CalculateFull
ActiveWorkbook.RefreshAll
Application.CalculateFull
希望它能够在第一次运行中获取数据,并在第二次运行中成功进行数据透视刷新。没用。
- 我试图让 Excel 认为我关闭并重新打开工作簿,然后重新运行刷新:
ThisWorkbook.Saved = True
Workbooks(1).Activate
ActiveWorkbook.RefreshAll
Application.CalculateFull
我尝试这样做的原因是因为在运行工作簿后(枢轴不刷新)我保存并关闭。我重新打开(枢轴仍然错误,数据是正确的),我重新运行,(数据再次正确并且相同),现在枢轴是正确的。所以我希望模拟这个。
在这一点上,我想不出其他任何事情。我正处于我认为 Excel 无法做到这一点的地步。还有一件事。最初我们将数据直接从 SQL Server DB 导入数据透视表,但我们不断收到这些错误,因此我们将采取不同的方法:
- 已删除部分:
/xl/pivotTables/pivotTable1.xml部分。 (数据透视表) - 已删除部分:
/xl/pivotTables/pivotTable5.xml部分。 (数据透视表) - 已删除记录:来自
/xl/workbook.xml部分(工作簿)的工作簿属性
<?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>
非常感谢任何帮助。
【问题讨论】:
-
虽然看看是否有修复会很有趣。我想通了为什么数据透视表总是坏掉。我从查询中删除了一个日期字段,它停止破坏我的数据透视表。基本上反复试验删除所有字段并添加回来,直到它坏了。不确定这一领域有什么奇怪的地方。
标签: excel refresh pivot-table