vba - 刷新数据透视表的运行时错误 1004

标签 vba excel refresh pivot-table

我创建了宏,它将刷新工作表中的所有数据透视表。相同的代码在一张纸上有效,但在另一张纸上无效。我尝试在 Debug模式下运行它,对于前几张表来说它工作正常,但在中间的一个表上却出现错误:

Run-time error '1004': RefreshTable method of PivotTable class failed.

此工作表中有 20 个数据透视表,但它起作用的数据透视表有 26 个。我们将非常感谢您的帮助。

Sub Refresh_Pivots2()

Dim PL As PivotTable

Worksheets("Incidents Pivots").Activate

    For Each PL In ActiveSheet.PivotTables

    PL.RefreshTable

    Next PL

End Sub

我刚刚尝试了另一个代码

Sub Refresh_Incidents()

Worksheets("Incidents Pivots").Activate

Dim A

A = Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20")

For i = 0 To 19

ActiveSheet.PivotTables(A(i)).RefreshTable

Next i

End Sub

如果我从 i=0 开始,它会给出一个错误,但当将其切换到 i=1 时,它会起作用。任何想法这张表有什么问题。我可以手动刷新它。

最佳答案

正如 Rory 所说,一个表的源数据有问题,它使用了 A1 而不是 R1C1 表示法。我在 Excel 选项->公式->R1C1 引用样式中更改了它,现在宏可以工作了。

关于vba - 刷新数据透视表的运行时错误 1004,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34509313/

相关文章:

vba - & 在过程参数中 - "&"的目的?

excel - VBA:什么是97.45 * 1#=?

database - 自动更新 Access 数据库(无法链接)

excel - 数字签名 VBA 代码的信任链未按预期工作

javascript - 从客户端 Web 应用程序中提取 excel 内容

azure - 电源查询刷新导致无法访问 azure dwh 中的表

oracle - 创建物化 View ,每天刷新记录

excel - 将所有工作表从一个(关闭的)工作簿复制到另一个“

vba - 如何在 SheetChange 事件中检查所做的更改是否在命名范围内

api - Power BI 在使用 API 时刷新在线数据集