Free Excel Macro : Create a Pivot Table

Download now!

Download free Excel Macro : Create A Pivot Table

Macros are one of the most powerful features in Excel. They are small programs that can automate tasks and save you a lot of time.

If you are not familiar with macros, they can seem a bit daunting. But once you learn how to use them, you will wonder how you ever managed without them!

In this article, we will show you how to use the Macro "Create A Pivot Table" in Excel. We will also provide some examples of how macros can be used to automate tasks.

How to use Macros in Excel?

Macros are written in a programming language called Visual Basic for Applications (VBA). VBA is a simple language that is easy to learn.

You do not need to be a programmer to use macros. However, if you are familiar with programming, you can use VBA to create more complex macros.

There are two ways to use macros in Excel:
    1. Use a macro that is already written.
     2. Write your own macro.

For both methods check out those articles to know how to use macros in Excel: https://www.macrosinexcel.com/introduction-to-macros-in-excel/
https://www.macrosinexcel.com/create-write-macros-in-excel/
https://www.macrosinexcel.com/macros-in-excel-with-examples/

To create a macro in Excel, open the Visual Basic Editor (VBE) by pressing Alt+F11 on your keyboard.

In the VBE, select Insert > Module. This will insert a new blank module into the VBE.

In the new module, paste the code below.

For example, the following code will create a macro that will Create a Pivot Table:

Sub InsertPivotTable()
'Macro By ExcelChamps

'Declare Variables
Dim PSheet As Worksheet
Dim DSheet As Worksheet
Dim PCache As PivotCache
Dim PTable As PivotTable
Dim PRange As Range
Dim LastRow As Long
Dim LastCol As Long

'Insert a New Blank Worksheet
On Error Resume Next
Application.DisplayAlerts = False
Worksheets("PivotTable").Delete
Sheets.Add Before:=ActiveSheet
ActiveSheet.Name = "PivotTable"
Application.DisplayAlerts = True
Set PSheet = Worksheets("PivotTable")
Set DSheet = Worksheets("Data")

'Define Data Range
LastRow = DSheet.Cells(Rows.Count, 1).End(xlUp).Row
LastCol = DSheet.Cells(1, Columns.Count).End(xlToLeft).Column
Set PRange = DSheet.Cells(1, 1).Resize(LastRow, LastCol)

'Define Pivot Cache
Set PCache = ActiveWorkbook.PivotCaches.Create _
(SourceType:=xlDatabase, SourceData:=PRange). _
CreatePivotTable(TableDestination:=PSheet.Cells(2, 2), _
TableName:="SalesPivotTable")

'Insert Blank Pivot Table
Set PTable = PCache.CreatePivotTable _
(TableDestination:=PSheet.Cells(1, 1), TableName:="SalesPivotTable")

'Insert Row Fields
With ActiveSheet.PivotTables("SalesPivotTable").PivotFields("Year")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("SalesPivotTable").PivotFields("Month")
.Orientation = xlRowField
.Position = 2
End With

'Insert Column Fields
With ActiveSheet.PivotTables("SalesPivotTable").PivotFields("Zone")
.Orientation = xlColumnField
.Position = 1
End With

'Insert Data Field
With ActiveSheet.PivotTables("SalesPivotTable").PivotFields ("Amount")
.Orientation = xlDataField
.Function = xlSum
.NumberFormat = "#,##0"
.Name = "Revenue "
End With

'Format Pivot Table
ActiveSheet.PivotTables("SalesPivotTable").ShowTableStyleRowStripes = True
ActiveSheet.PivotTables("SalesPivotTable").TableStyle2 = "PivotStyleMedium9"

End Sub

To run the macro, press the Run button in the toolbar (or press F5 on your keyboard).

About Create A Pivot Table Excel Macro

A Pivot Table is a powerful tool that allows you to summarize and explore data in Excel. You can use a Pivot Table to create a custom report without having to write any formulas. To create a Pivot Table, you first need to select the data that you want to use. Then, click the Insert tab and choose Pivot Table. In the Create PivotTable dialog box, choose where you want to place the Pivot Table. Next, you need to choose the fields that you want to include in your Pivot Table. To do this, drag the field names from the Field List pane to the areas where you want to place them. Once you have added all of the fields that you