在与源数据(Excel VBA)相同的工作表中创建透视表
我有一些数据,这些数据是我用下面的VBA脚本构建的数据透视表的源 代码正在创建一个新的工作表并在那里生成透视表,但我希望透视表出现在源数据所在的同一工作表中 它还需要检查现有数据的位置,并且必须选择一个空单元格在与源数据(Excel VBA)相同的工作表中创建透视表,vba,excel,pivot,pivot-table,Vba,Excel,Pivot,Pivot Table,我有一些数据,这些数据是我用下面的VBA脚本构建的数据透视表的源 代码正在创建一个新的工作表并在那里生成透视表,但我希望透视表出现在源数据所在的同一工作表中 它还需要检查现有数据的位置,并且必须选择一个空单元格 Sub ApplyPivot() ActiveWorkbook.Sheets("NOIDA").Select Range("A1").Select Set objTable = Sheet1.PivotTableWizard Set objField = objTable.Pivot
Sub ApplyPivot()
ActiveWorkbook.Sheets("NOIDA").Select
Range("A1").Select
Set objTable = Sheet1.PivotTableWizard
Set objField = objTable.PivotFields("sector")
objField.Orientation = xlRowField
Set objField = objTable.PivotFields("number")
objField.Orientation = xlColumnField
Set objField = objTable.PivotFields("quantity")
objField.Orientation = xlDataField
objField.Function = xlCount
objField.NumberFormat = " ######"
End Sub
下面是一个非常基本的示例,说明如何基于源数据的
范围在代码中创建数据透视表-只需多出几行,而不是根据问题中的代码使用向导
为了使表远离源数据,它检查源数据中的列数,然后添加2列,即源数据和透视表之间将有一个空列
Option Explicit
Sub ApplyPivotOnSameSheet()
Dim wsTarget As Worksheet
Dim rngData As Range
Dim rngPivotTarget As Range
Dim objCache As PivotCache
Dim objTable As PivotTable
Dim objField As PivotField
'create pivot table in code (no wizard) on same sheet
Set wsTarget = ThisWorkbook.Sheets("NOIDA")
'set range to build table from
Set rngData = wsTarget.Range("A1").CurrentRegion
'set range for left-hand corner of pivot clear of source data by 1 column
Set rngPivotTarget = wsTarget.Cells(1, rngData.Columns.Count + 2)
'create cache from data
Set objCache = ThisWorkbook.PivotCaches.Create(xlDatabase, rngData)
'create table from cache
Set objTable = objCache.CreatePivotTable(rngPivotTarget)
'your original code
Set objField = objTable.PivotFields("sector")
objField.Orientation = xlRowField
Set objField = objTable.PivotFields("number")
objField.Orientation = xlColumnField
Set objField = objTable.PivotFields("quantity")
objField.Orientation = xlDataField
objField.Function = xlCount
objField.NumberFormat = " ######"
End Sub
这是你的全部代码吗?上述代码不会创建新工作表。你能分享完整的代码吗?谢谢Robin Mackenzie你的回答很有帮助。这正是我要找的东西。再次感谢!!!没问题,我很乐意