更新数据透视表源数据

时间:2017-12-08 19:20:43

标签: excel vba excel-vba

对不起,这似乎是一个重复的问题,但我尝试了两种不同的方法,但都没有工作。这是第一个:

Set wbGen = ThisWorkbook
Set wsPivot = wbGen.Sheets("Pivot")
Set rData = wbGen.Sheets("Fan Data").Range("A1")
Set rData = Range(rData, rData.End(xlDown).End(xlToRight))
NewRange = wbGen.Sheets("Fan Data").Name & "!" & _
    rData.Address(ReferenceStyle:=xlR1C1)
wsPivot.PivotTables("FanPivot").ChangePivotCache _
    wsPivot.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=NewRange)

这是第二个:

Set wbGen = ThisWorkbook
Set wsPivot = wbGen.Sheets("Pivot")
Set rData = wbGen.Sheets("Fan Data").Range("A1")
Set rData = Range(rData, rData.End(xlDown).End(xlToRight))
wsPivot.PivotTables("FanPivot").ChangePivotCache _
    wsPivot.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=rData)

两种方法都在最后一行上徘徊并返回

  

运行时错误438:对象不支持方法或属性

1 个答案:

答案 0 :(得分:0)

Set wbGen = ThisWorkbook
Set wsPivot = wbGen.Sheets("Pivot")
Set rData = wbGen.Sheets("Fan Data").Range("A1")
Set rData = Range(rData, rData.End(xlDown).End(xlToRight))
wsPivot.PivotTables("FanPivot").ChangePivotCache _
    wbGen.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=rData)