Excel宏制作数据透视表 - 不创建任何东西

时间:2018-05-09 23:06:13

标签: excel vba excel-vba

我正在尝试使用宏来构建数据透视表。它似乎适用于某些数据集但不适用于其他数据集,但我不知道为什么它不适用于其他数据集。这是代码:

On Error Resume Next
Application.DisplayAlerts = False
Worksheets("Query Pivot").Delete
Sheets.Add Before:=ActiveSheet
ActiveSheet.Name = "Query Pivot"
Application.DisplayAlerts = True
Set PSheet = Worksheets("Query Pivot")
Set DSheet = Worksheets("Invoice Data")

LastRow = DSheet.Cells(Rows.Count, 1).End(xlUp).Row
LastCol = DSheet.Cells(1, Columns.Count).End(xlToLeft).Column
Set PRange = DSheet.Cells(1, 1).Resize(LastRow, LastCol)

Set PCache = ActiveWorkbook.PivotCaches.Create _
(SourceType:=xlDatabase, SourceData:=PRange). _
CreatePivotTable(TableDestination:=PSheet.Cells(2, 2), _
TableName:="ManualPivotTable")

Set PTable = PCache.CreatePivotTable _
(TableDestination:=PSheet.Cells(1, 1), TableName:="ManualPivotTable")

当这个工作并且我单步执行VBA时,我可以看到创建数据透视表,从空白开始,然后在下一部分代码中添加字段。但是,当它不起作用时,它不会开始使用数据透视表,所以在此之后的每一步都不会做任何事情。这个VBA原创作品有什么根本性的错误吗?

更新:我拿出了" On Error Resume Next"并再次运行它。我收到错误,"无效的过程调用或参数"在以下几行:

Set PCache = ActiveWorkbook.PivotCaches.Create _
(SourceType:=xlDatabase, SourceData:=PRange). _
CreatePivotTable(TableDestination:=PSheet.Cells(2, 2), _
TableName:="ManualPivotTable")

0 个答案:

没有答案