数据透视表 使用VBA代码后为什么不能自动刷新是怎么回事

2025-05-05 04:27:15
推荐回答(1个)
回答1:

1)如果数据透视表名被修改,不再是"数据透视表1",则执行不了。可改成如下代码,不论多少透视表,叫什么名,都能刷新。
Private Sub Worksheet_Activate()
Dim myPivot As PivotTable
For Each myPivot In Me.PivotTables
myPivot.RefreshTable
Next
Set myPivot = Nothing
End Sub
2)数据透视表的数据源是否被设为固定区域了?最好将数据源设为指定的名称。之前区域定义为名称,行数可自动变化,如新建名称rngPivot, =offset(sheet2!$A$1,0,0,counta(sheet2!A:A),counta(sheet2!1:1))
3)如果还不行,那就是动作响应被关闭了,需要恢复一下。
可在立即窗口执行如下代码:Application.EnableEvents = True