使用VBA在Excel中创build数据透视表时,input不匹配错误

我试图把一个macros,将使用一个活动工作表中的数据一个简单的数据透视表。 当我尝试运行它时,我收到一个types不匹配错误。 当我启动debugging器时,第一部分突出显示:ActiveWorkbook.PivotCaches通过xlPivotTableVersion10。 最初,TableDestination是空白的,我认为这可能是问题,但添加目标后,我仍然得到相同的错误。

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, _ SourceData:=ActiveSheet.UsedRange).CreatePivotTable TableDestination:="Sheet1!R3C1", _ TableName:="PivotTable1", DefaultVersion:=xlPivotTableVersion10 ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(1, 1) With ActiveSheet.PivotTables("PivotTable1").PivotFields("Program Name") .Orientation = xlColumnField .Position = 1 End With ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _ "PivotTable1").PivotFields("Dollars Awarded"), "Sum of Dollars Awarded", xlSum With ActiveSheet.PivotTables("PivotTable1").PivotFields("Dept Head") .Orientation = xlRowField .Position = 1 End With 

这工作对我来说(XL2007):

 Sub Tester() With ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, _ SourceData:=ActiveSheet.UsedRange) .CreatePivotTable TableDestination:="Sheet1!R3C1", _ TableName:="PivotTable1", DefaultVersion:=xlPivotTableVersion10 End With With Sheet1.PivotTables("PivotTable1") .PivotFields("Dept Head").Orientation = xlColumnField .PivotFields("Program Name").Orientation = xlRowField .AddDataField .PivotFields("Cost"), "Sum of cost", xlSum End With End Sub 

确保你还没有一个存在冲突的caching/表。