将多个透视表添加到现有工作表时出现运行时错误

时间:2018-05-18 17:27:28

标签: vba pivot-table excel-2007

我有一个宏,可以创建一个新的工作表和数据透视表(工作正常)。一旦我尝试向此工作表添加第二个数据透视表,我收到此错误消息。

  

错误消息:运行时错误“5”:无效的过程调用或参数

当我在新工作表中创建第二个数据透视图时,它工作正常,所以我认为问题是当我选择添加到现有工作表时。

这是第二个数据透视表的代码(使用宏创建,抱歉我是新手,所以可能有点乱),错误在第3行。不确定为什么它引用数据透视表“调用方式Region / Analyst“,这是现有的支点:

Sheets("Sorted Data").Select
ActiveCell.Offset(1, -7).Range("Table1[[#Headers],[Status]]").Select
ActiveWorkbook.Worksheets("Pivot Tables").pivotTables("Calls by Region/Analyst" _
    ).PivotCache.CreatePivotTable TableDestination:="Pivot Tables!R3C6", _
    TableName:="PivotTable6", DefaultVersion:=xlPivotTableVersion12
Sheets("Pivot Tables").Select
Cells(3, 6).Select
ActiveSheet.pivotTables("PivotTable6").Name = "Analyst"
ActiveSheet.pivotTables("Analyst").AddDataField ActiveSheet.pivotTables( _
    "Analyst").PivotFields("Assigned User Name"), "Count of Assigned User Name", _
    xlCount
ActiveSheet.pivotTables("Analyst").PivotFields("Count of Assigned User Name"). _
    Caption = "Number of Calls"
With ActiveSheet.pivotTables("Analyst").PivotFields("Assigned User Name")
    .Orientation = xlRowField
    .Position = 1
End With
ActiveSheet.pivotTables("Analyst").CompactLayoutRowHeader = "Analyst"
ActiveCell.Offset(0, 4).Range("A1").Select
End Sub

以下是在 new 工作表中打开它时第二个支点的代码,但是我需要在现有工作表中(在F3处):

Sheets("Sorted Data").Select
ActiveCell.Offset(1, -7).Range("Table1[[#Headers],[Status]]").Select
Sheets.Add
ActiveWorkbook.Worksheets("Pivot Tables").pivotTables("Calls by Region/Analyst" _
    ).PivotCache.CreatePivotTable TableDestination:="Sheet3!R3C1", TableName:= _
    "PivotTable5", DefaultVersion:=xlPivotTableVersion12
Sheets("Sheet3").Select
Cells(3, 1).Select
ActiveSheet.pivotTables("PivotTable5").Name = "Analyst"
ActiveSheet.pivotTables("Analyst").AddDataField ActiveSheet.pivotTables( _
    "Analyst").PivotFields("Assigned User Name"), "Count of Assigned User Name", _
    xlCount
ActiveSheet.pivotTables("Analyst").PivotFields("Count of Assigned User Name"). _
    Caption = "Number of Calls"
With ActiveSheet.pivotTables("Analyst").PivotFields("Assigned User Name")
    .Orientation = xlRowField
    .Position = 1
End With
ActiveSheet.pivotTables("Analyst").CompactLayoutRowHeader = "Analyst"
ActiveCell.Offset(1, 0).Range("A1").Select

0 个答案:

没有答案