快速的,获得以下代码,并根据数据集"数据"创建数据透视表.我在创建它的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年等......?
提前干杯威尔
我认为这是一个问题Version:=xlPivotTableVersion15,这是Excel 2013特有的.这是Excel 2010的帮助:

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