excel vba创建数据透视表

时间:2015-04-29 10:45:33

标签: excel-vba pivot datasource vba excel

我正在尝试在excel vba中创建一个数据透视表,但未能这样做。

Range("A5").Select
Sheets.Add

Range("A5").Select
Selection.CurrentRegion.Select

DataArea = "Sheet1!R1C1:R" & Selection.Rows.Count & "C" & Selection.Columns.Count

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=DataArea, _
    Version:=xlPivotTableVersion10).CreatePivotTable _
    TableDestination:="Sheet2!R3C1", TableName:="PivotTable2", DefaultVersion _
    :=xlPivotTableVersion10

不知怎的,我的DataArea没有被接受,有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您正在尝试创建一个包含单个单元格数据区域的数据透视表。如果您向后走过代码以消除.Select,那么您将会看到您已经拥有:

DataArea = "Sheet1!R1C1:R" & Range("A5").Rows.Count & "C" & Range("A5").Columns.Count

转换为

DataArea = "Sheet1!R1C1:R" & "1" & "C" & "1"

DataArea = "Sheet1!R1C1:R1C1"

如果您的数据通过" A5",则您需要:

DataArea = "Sheet1!R1C1:R5C1"

但是单列数据并没有给Excel提供太多的支持...