Excel数据透视表宏用于具有动态范围的多个工作表

时间:2016-11-05 14:46:55

标签: excel-vba pivot-table vba excel

我每月在工作中创建一份报告,按产品系列分析销售额。由于我用于数据的报告存在限制,因此我无法使用数据透视表来获取报告所需的数据。我按产品系列将数据分成单独的工作表。每张纸上的行数取决于在该产品系列中购买产品的客户数量。我目前有一个宏,我每次创建一个执行sums,sumproduct和sumif过程的新工作表时运行。我还想在每张纸上的数据底部添加一个数据透视表,以便进一步操作。

我不知道我做错了什么,但我的代码没有用。这是:

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
    "ActiveSheet.Name!R1C1:R231C30", Version:=6).CreatePivotTable TableDestination:= _
    "ActiveSheet.Name!R237C3", TableName:="PivotTable21", DefaultVersion:=6
Sheets("ActiveSheet.Name").Select
Cells(237, 3).Select

1 个答案:

答案 0 :(得分:0)

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
    "'" & ActiveSheet.Name & "'!R1C1:R231C30", Version:=6).CreatePivotTable TableDestination:= _
    "'" & ActiveSheet.Name & "'!R237C3", TableName:="PivotTable21", DefaultVersion:=6

Sheets(ActiveSheet.Name).Select 'Seems redundant here?
Cells(237, 3).Select

如果工作表名称包含空格,则需要单引号。