从另一个工作表源更新另一个工作表上的多个数据透视表
问题描述:
我有一个在另一个工作表中而不是工作簿中的时间表,并且有数据透视表更新了该数据。从另一个工作表源更新另一个工作表上的多个数据透视表
美中不足的是...当我尝试使用下面的宏,我得到一个
运行时错误“9”下标越界。
P.s. >>>“时间表02-26”每天根据日期而变化。
Sub Change_Pivot_Source()
Dim pt As PivotTable
For Each pt In ActiveWorkbook.Worksheets("Schedule 02-26").PivotTables
pt.ChangePivotCache ActiveWorkbook.PivotCaches.Create _
(SourceType:=xlDatabase, SourceData:="Schedule!$A$1:$AK$1200")
Next pt
End Sub
Easy Fix?
更新:“不能执行代码在休息模式”?
我把宏代码在 “当前工作簿”
答
'This might be helpful, starting out on your pivot table sheet
Sub PivotUpdate()
Dim PivotSheet as string
Dim Data As Range
Dim lrow As Long
Dim PivotCount As Long
Dim i As Long
PivotSheet = activesheet.name
sheets("schedule").select
'get the last row where your data is
lrow = sheets("schedule").Range("A1").End(xlDown).Row
Set Data = sheets("schedule").Range("A1:AK" & lrow & "")
Sheets(PivotSheet).Select
PivotCount = Sheets(PivotSheet).PivotTables.Count
For i = 1 To PivotCount
Sheets(PivotSheet).PivotTables(i).ChangePivotCache ActiveWorkbook. _
PivotCaches.Create(SourceType:=xlDatabase, SourceData:=Data, _
Version:=xlPivotTableVersion12)
'version12 is excel 2007
Next i
End Sub