VBA数据透视表出现在特定的表格上

目前我有这个代码,它运行顺利。 但是,创build的透视似乎没有出现在我创build的“ST_TicketPivot”表单上。

那么,我怎样才能让透视出现在我想要的表格上呢?

Private Sub ST_Tickets() Dim objTable As PivotTable, objField As PivotField ActiveWorkbook.Sheets("Paste Record").Select Range("A1").Select Sheets.Add.Name = "ST_TicketsPivot" Sheets("ST_TicketsPivot").Activate Set objTable = Sheet1.PivotTableWizard objTable.PivotCache.MissingItemsLimit = xlmissingItemNone objTable.PivotCache.Refresh Set objField = objTable.PivotFields("Priority") objField.Orientation = xlColumnField Set objField = objTable.PivotFields("Status") objField.Orientation = xlRowField Set objField = objTable.PivotFields("Contact Name") ' change with type objField.Orientation = xlRowField Set objField = objTable.PivotFields("Salesforce Case Number") objField.Orientation = xlDataField objField.Function = xlCount End Sub 

这是因为数据透视PivotWizard创build一个新的工作表来放置数据透视表,所以你必须使用objTable.Parent.Name来重命名它。

试试这个:

 Private Sub ST_Tickets() Dim objTable As PivotTable, objField As PivotField, Ws As Worksheet ActiveWorkbook.Sheets("Paste Record").Range("A1").Select Set Ws = Sheets.Add Ws.Name = "ST_TicketsPivot" Set objTable = Sheet1.PivotTableWizard(TableDestination:=Ws.Cells(3, "A")) objTable.PivotCache.MissingItemsLimit = xlmissingItemNone objTable.PivotCache.Refresh Set objField = objTable.PivotFields("Priority") objField.Orientation = xlColumnField Set objField = objTable.PivotFields("Status") objField.Orientation = xlRowField Set objField = objTable.PivotFields("Contact Name") ' change with type objField.Orientation = xlRowField Set objField = objTable.PivotFields("Salesforce Case Number") objField.Orientation = xlDataField objField.Function = xlCount End Sub