Sub Macro1()
Dim LR As Long
Dim LC As Long
LR = Sheets("Input").Cells(Rows.Count, "A").End(xlUp).Row
LC = Sheets("Input").Cells(1, Columns.Count).End(xlToLeft).Column
Sheets.Add.Name = "Output"
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:="Input!R1C1:R" & LR & "C" & LC, _
Version:=xlPivotTableVersion14).CreatePivotTable TableDestination:="Output!R3C1", _
TableName:="PivotTable1", DefaultVersion:=xlPivotTableVersion14
With Sheets("Output")
.PivotTables("PivotTable1").PivotFields("Portfolio").Orientation = xlRowField
.PivotTables("PivotTable1").PivotFields("Portfolio").Position = 1
.PivotTables("PivotTable1").PivotFields("Client Number").Orientation = xlRowField
.PivotTables("PivotTable1").PivotFields("Client Number").Position = 2
.PivotTables("PivotTable1").PivotFields("Month End").Orientation = xlColumnField
.PivotTables("PivotTable1").PivotFields("Month End").Position = 1
.PivotTables("PivotTable1").PivotFields("Month End").AutoSort xlDescending, "Month End"
End With
ActiveSheet.PivotTables("PivotTable1").AddDataField _
ActiveSheet.PivotTables("PivotTable1").PivotFields("Performance"), "PerformanceTmp", xlAverage
With ActiveSheet.PivotTables("PivotTable1")
.PivotFields("PerformanceTmp").NumberFormat = "0.00"
.RowAxisLayout xlTabularRow
.PivotFields("Portfolio").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
.PivotFields("Client Number").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
.PivotFields("Month End").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
.PivotFields("Performance").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
.NullString = "0"
End With
End Sub
Bookmarks