Excel VBA数据透视表向导,设置表目的地和删除总计

下面的工作很好,但是我希望目标工作表是一个特定的现有工作表称为"PIVOT" 。 另外,我想删除rowscolumns总计。 有任何想法吗?

 Sub CreatePivot() ' Creates a PivotTable report from the table on Sheet1 ' 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("DATA").Select Range("A1").Select ' Create the PivotTable object based on the Employee data on Sheet1. Set objTable = ActiveWorkbook.Sheets("DATA").PivotTableWizard ' Specify row and column fields. Set objField = objTable.PivotFields("CCY") objField.Orientation = xlRowField Set objField = objTable.PivotFields("ACC") objField.Orientation = xlRowField Set objField = objTable.PivotFields("VD") objField.Orientation = xlColumnField ' Specify a data field with its summary ' function and format. Set objField = objTable.PivotFields("AMOUNT") objField.Orientation = xlDataField objField.Function = xlSum objField.NumberFormat = "#,##0" End Sub 

可以通过PivotTableWizardTableDestination参数定义目标工作表,然后可以使用ColumnGrandRowGrand删除总计。 这是更改的代码:

 Sub CreatePivot() ' Creates a PivotTable report from the table on Sheet1 ' 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("DATA").Select Range("A1").Select ' Create the PivotTable object based on the Employee data on PIVOT with the name 'PivotTableName'. Set objTable = ActiveWorkbook.Sheets("DATA").PivotTableWizard(TableDestination:="PIVOT!R1C1", TableName:="PivotTableName") 'Remove grand totals With Sheets("PIVOT").PivotTables("PivotTableName") .ColumnGrand = False .RowGrand = False End With ' Specify row and column fields. Set objField = objTable.PivotFields("CCY") objField.Orientation = xlRowField Set objField = objTable.PivotFields("ACC") objField.Orientation = xlRowField Set objField = objTable.PivotFields("VD") objField.Orientation = xlColumnField ' Specify a data field with its summary ' function and format. Set objField = objTable.PivotFields("AMOUNT") objField.Orientation = xlDataField objField.Function = xlSum objField.NumberFormat = "#,##0" End Sub