Create Pivot Tables
There are several ways to create a pivot table in code:
Use the
PivotTableWizardmethod to quickly create a pivot table from aWorksheetorPivotTableobject.Use the
Workbookobject’sPivotCachecollection to create a new pivot table one step at a time. This is sometimes clearer than using thePivotTableWizardmethod.Use an existing
PivotCacheobject’sCreatePivotTablemethod to create a pivot table that shares the cache of an existing pivot table.
Tip
If you are programming for multiple Excel versions, be sure to test any code using the PivotCache object on the earliest version of Excel you plan to support. A large number of that object’s members were added in 2002.
To quickly create a new pivot table in code:
Call the
Worksheetobject’sCreatePivotTableWizardmethod.Set the layout of the fields on the pivot table.
For example, the following code creates a pivot table from data on the current worksheet:
Sub QuickPivotTable( )
Dim pt As PivotTable
' Exit if active sheet is not a worksheet
If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub
' Use pivot table wizard to create table on new worksheet.
Set pt = ActiveSheet.PivotTableWizard(xlDatabase, ActiveSheet.UsedRange, _
Worksheets.Add.[a3], "QuickPivot")
' Select the table so user can set layout.
pt.TableRange1.Select
End SubSelecting the pivot table range in the last line of code displays the PivotTable Field List from which the user can drag items onto the new pivot table.
Pivot tables are created from an underlying ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access