Excel 创建透视表时过程调用或参数无效

Excel 创建透视表时过程调用或参数无效,excel,vba,pivot-table,Excel,Vba,Pivot Table,试图用一组数据创建透视表。通常,它第一次运行正常,但是如果您尝试第二次运行它,它会抛出一个无效的过程调用或参数,当您单击“调试”时,代码会突出显示以下问题。更改透视表的名称没有帮助。表2已存在,并已填充数据。数据汇总表也存在,并且完全为空 ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "Sheet2!R1C1:R1064C4", Version:=xlPivotTableVersion14

试图用一组数据创建透视表。通常,它第一次运行正常,但是如果您尝试第二次运行它,它会抛出一个无效的过程调用或参数,当您单击“调试”时,代码会突出显示以下问题。更改透视表的名称没有帮助。表2已存在,并已填充数据。数据汇总表也存在,并且完全为空

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
    "Sheet2!R1C1:R1064C4", Version:=xlPivotTableVersion14).CreatePivotTable _
    TableDestination:="Data-Summary!R5C1", TableName:="PivotTable4", _
    DefaultVersion:=xlPivotTableVersion
整个代码如下:

Sub Macro1()
'
' Macro1 Macro
'

'
    Columns("A:D").Select
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "Sheet2!R1C1:R1064C4", Version:=xlPivotTableVersion14).CreatePivotTable _
        TableDestination:="Data-Summary!R5C1", TableName:="PivotTable15", _
        DefaultVersion:=xlPivotTableVersion14
    Sheets("Data-Summary").Select
    Cells(5, 1).Select
    ActiveWorkbook.ShowPivotTableFieldList = True
    With ActiveSheet.PivotTables("PivotTable3").PivotFields("Site")
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("PivotTable3").PivotFields("Channel")
        .Orientation = xlColumnField
        .Position = 1
    End With
    ActiveSheet.PivotTables("PivotTable3").AddDataField ActiveSheet.PivotTables( _
        "PivotTable3").PivotFields("Cost"), "Count of Cost", xlCount
    ActiveSheet.PivotTables("PivotTable3").PivotFields("Count of Cost"). _
        Orientation = xlHidden
    ActiveSheet.PivotTables("PivotTable3").AddDataField ActiveSheet.PivotTables( _
        "PivotTable3").PivotFields("Revenue"), "Count of Revenue", xlCount
    With ActiveSheet.PivotTables("PivotTable3").PivotFields("Count of Revenue")
        .Caption = "Sum of Revenue"
        .Function = xlSum
    End With
    ActiveWorkbook.ShowPivotTableFieldList = False
End Sub

更改tabledestination以在图纸名称周围添加引号

TableDestination:="'Data-Summary'!R5C1"
还有一些代码是不必要的

Sub Macro1()
'
' Macro1 Macro
'

'
   Dim PT                     As Excel.PivotTable
   Set PT = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
                                              "Sheet2!R1C1:R1064C4", Version:=xlPivotTableVersion14).CreatePivotTable( _
                                              TableDestination:="'Data-Summary'!R5C1", TableName:="PivotTable15", _
                                              DefaultVersion:=xlPivotTableVersion14)
   With PT
      With .PivotFields("Site")
         .Orientation = xlRowField
         .Position = 1
      End With
      With .PivotFields("Channel")
         .Orientation = xlColumnField
         .Position = 1
      End With
      .AddDataField .PivotFields("Revenue"), "Sum of Revenue", xlSum
   End With
End Sub

更改tabledestination以在图纸名称周围添加引号

TableDestination:="'Data-Summary'!R5C1"
还有一些代码是不必要的

Sub Macro1()
'
' Macro1 Macro
'

'
   Dim PT                     As Excel.PivotTable
   Set PT = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
                                              "Sheet2!R1C1:R1064C4", Version:=xlPivotTableVersion14).CreatePivotTable( _
                                              TableDestination:="'Data-Summary'!R5C1", TableName:="PivotTable15", _
                                              DefaultVersion:=xlPivotTableVersion14)
   With PT
      With .PivotFields("Site")
         .Orientation = xlRowField
         .Position = 1
      End With
      With .PivotFields("Channel")
         .Orientation = xlColumnField
         .Position = 1
      End With
      .AddDataField .PivotFields("Revenue"), "Sum of Revenue", xlSum
   End With
End Sub

对于我来说,此错误是在升级到较新版本的Excel后发生的,因为在使用CreatePivotTable函数创建数据透视表时,它无法识别DefaultVersion参数xlPivotTableVersion15枚举

这对我来说不起作用,它与空间或目的地名称无关:

Workbooks(WorkbookName).PivotCaches(1).CreatePivotTable _
    TableDestination:=DestinationString, TableName:=TableNameString, _ 
    DefaultVersion:=xlPivotTableVersion15 
这是工作版本:

Workbooks(WorkbookName).PivotCaches(1).CreatePivotTable _
    TableDestination:=DestinationString, TableName:=TableNameString, _ 
    DefaultVersion:=6

对于我来说,此错误是在升级到较新版本的Excel后发生的,因为在使用CreatePivotTable函数创建数据透视表时,它无法识别DefaultVersion参数xlPivotTableVersion15枚举

这对我来说不起作用,它与空间或目的地名称无关:

Workbooks(WorkbookName).PivotCaches(1).CreatePivotTable _
    TableDestination:=DestinationString, TableName:=TableNameString, _ 
    DefaultVersion:=xlPivotTableVersion15 
这是工作版本:

Workbooks(WorkbookName).PivotCaches(1).CreatePivotTable _
    TableDestination:=DestinationString, TableName:=TableNameString, _ 
    DefaultVersion:=6