vba创建数据透视表的问题,这是一个excel版本问题吗?

Wil*_*ler 2 vba pivot-table

快速的,获得以下代码,并根据数据集"数据"创建数据透视表.我在创建它的PC上运行它,运行Excel 2013时没有问题,但是当我在Excel 2007或Excel 2010上运行它时,它会在Range("A1")之后的行上抛出无效的过程调用或Arguement错误.选择

这是excel版本错误,因为在Excel 2013中编写但在2007或2010上使用?

    Sheets("Pivot").Select
    Range("A1").Select
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "Data", Version:=xlPivotTableVersion15).CreatePivotTable TableDestination:= _
        "Pivot!R1C1", TableName:="PivotTable4", DefaultVersion:= _
        xlPivotTableVersion15
    Sheets("Pivot").Select
    Cells(1, 1).Select
    With ActiveSheet.PivotTables("PivotTable4").PivotFields("Date Only")
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("PivotTable4").PivotFields("Species")
        .Orientation = xlColumnField
        .Position = 1
    End With
    ActiveSheet.PivotTables("PivotTable4").AddDataField ActiveSheet.PivotTables( _
        "PivotTable4").PivotFields("Number"), "Sum of Number", xlSum
Run Code Online (Sandbox Code Playgroud)

如果是版本问题我认为它可能是因为人们使用DefaultVersion:= xlPivotTableVersion14和12有谁知道哪个版本适用于Excel 2007或Excel 2010?我假设如果我输入2007年的正确版本,它将向后兼容2010年和2013年等......?

提前干杯威尔

Dou*_*ncy 6

我认为这是一个问题Version:=xlPivotTableVersion15,这是Excel 2013特有的.这是Excel 2010的帮助:

在此输入图像描述

它是一个可选参数,在Excel 2010中,无论是否使用,都可以正确创建数据透视表.