使用vba进行数据透视表

时间:2017-07-27 20:50:13

标签: excel vba excel-vba pivot-table

我尝试使用vba创建数据透视表。我需要代码来获取工作表并使用其中的所有数据创建一个数据透视表。 对于我需要的支柱中的列:"年"首先,然后"文件日期" 对于Row"在到期日后的欠款" 对于值,我需要" Amount"的总和。

我在下面尝试了这段代码,但它给了我一个"对象所需的错误" 我以前从未做过枢轴,所以我不确定我是否在正确的轨道上。

Sub newPVT()

Set Rng = wsA.Range("A1:AA100000")
Set rngData = Range(Rng, Rng.End(xlToRight))
Set rngData = Range(Rng, Rng.End(xlDown))
Set rngB = wsB.Range("C8")

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, 
    SourceData:=rngData, Version:=xlPivotTableVersion14).CreatePivotTable 
    TableDestination:=rngB, TableName:="pvtReportA_B", 
    DefaultVersion:=xlPivotTableVersion14

End Sub

1 个答案:

答案 0 :(得分:1)

您需要将数据透视表分配给对象:

Sub newPVT()

Dim Rng As Range, rngData As Range, rngB As Range
Dim pvt As PivotTable 


Set wsA = Worksheets("Name of your sheet")
Set Rng = wsA.Range("A1:AA100000")
Set rngData = Range(Rng, Rng.End(xlToRight))
Set rngData = Range(Rng, Rng.End(xlDown))
Set rngB = wsB.Range("C8")

Set pvt = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, 
    SourceData:=rngData, Version:=xlPivotTableVersion14).CreatePivotTable 
    TableDestination:=rngB, TableName:="pvtReportA_B", 
    DefaultVersion:=xlPivotTableVersion14

End Sub