在特定工作表中创buildExcel 2010 VBA数据透视表不起作用

我在Excel中使用VBA创build报告。 但是,当我试图创build一个数据透视表到一个特定的工作表,它不会创build,它显示错误“运行时错误”424“所需的对象”。 我在这里发布我的代码,请告诉我是什么问题

Private Sub CommandButton1_Click() createPivot End Sub Sub createPivot() ' Creates a PivotTable report from the table on studentmarks ' by using the PivotTableWizard method with the PivotFields ' method to specify the fields in the PivotTable. Dim objTable As PivotTable, objField As PivotField ' Select the sheet and first cell of the table that contains the data. ActiveWorkbook.Sheets("studentmarks").Select Range("A1").Select Set objTable = reports.PivotTableWizard ''''Set objTable = Sheet1.PivotTableWizard // if I give sheet1 instead of reports it is working but every time it is creating new worksheets objTable.ColumnGrand = False ' Specify a page field. Set objField = objTable.PivotFields("subject") objField.Orientation = xlPageField ' Specify row and column fields. Set objField = objTable.PivotFields("name") objField.Orientation = xlRowField Set objField = objTable.PivotFields("subject") objField.Orientation = xlColumnField Set objField = objTable.PivotFields("total") objField.Orientation = xlDataField End Sub 

我需要在“报告”工作表创build数据透视表请帮助我..

从你的问题,我认为你需要这样的事情。

 Dim wsTarget As Worksheet Dim rngSource As Range Dim pc As PivotCache Dim pt As PivotTable Dim field As PivotField Set rngSource = Sheets("studentmarks").Range("A1").CurrentRegion Set wsTarget = Sheets("reports") wsTarget.Select For Each pt In wsTarget.PivotTables pt.TableRange2.Clear Next pt Set pc = ThisWorkbook.PivotCaches.Create(xlDatabase, rngSource, xlPivotTableVersion14) Set pt = pc.CreatePivotTable(wsTarget.Range("A1"), "PivotTable1", , xlPivotTableVersion14) Set field = wsTarget.PivotTables("PivotTable1").PivotFields("subject") field.Orientation = xlPageField Set field = wsTarget.PivotTables("PivotTable1").PivotFields("subject") field.Orientation = xlColumnField Set field = wsTarget.PivotTables("PivotTable1").PivotFields("name") field.Orientation = xlRowField Set field = wsTarget.PivotTables("PivotTable1").PivotFields("total") field.Orientation = xlDataField 

此代码将在报表中创build数据透视表。

我希望这会对你有用