您好,请帮我excel 2010 当我运行这个简单的代码时,我收到错误消息:枢轴表类的1004刷新表方法失败
Sub AllWorkbookPivots()
Dim pt As PivotTable
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
For Each pt In ws.PivotTables
pt.RefreshTable
Next pt
Next ws
End Sub
答案 0 :(得分:2)
试试这段代码:
Sub AllWorkbookPivots()
ActiveWorkbook.RefreshAll()
End Sub
答案 1 :(得分:0)
尝试此操作时,必须删除括号。
ActiveWorkbook.RefreshAll
答案 2 :(得分:0)
如果刷新使用该枢轴缓存的任何枢轴表后与另一个枢轴表对象或其他有界对象重叠,则枢轴刷新将失败。 Excel 会尝试创建额外的行和列来为调整大小的表格腾出空间,但这并不总是那么简单。
在这种情况下,RefreshAll 也将无法更新表。检查包含数据透视表的所有工作表,并尝试确保每个数据透视表在需要时都有可扩展的空间。
如果您不确定哪个表使用哪个缓存,可以使用以下脚本:
Sub PivotInfo()
Dim i As Integer, wSheet As Worksheet, pTable As PivotTable
Worksheets.Add
Range("A1") = "Pivot table name"
Range("B1") = "Location"
Range("C1") = "Source information"
i = 1
For Each wSheet In Worksheets
For Each pTable In wSheet.PivotTables
i = i + 1
Cells(i, 1).Value = pTable.Name
Cells(i, 2).Value = wSheet.Name + "!" + pTable.TableRange1.Address
Cells(i, 3).Value = pTable.SourceData
Next pTable
Next wSheet
End Sub