Sub PivotTable()
'
' PivotTable Macro
'
Dim PTCache As PivotCache
Dim PT As PivotTable
Dim rSourceData As Range
Dim LastRow As Long
LastRow = Range("A" & Rows.Count).End(xlUp).Row
Set rSourceData = Range("A1:V" & LastRow)
Worksheets.Add().Name = "Pivot"
Set PTCache = ActiveWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, _
SourceData:=rSourceData)
Set PT = ActiveSheet.PivotTables.Add( _
PivotCache:=PTCache, _
TableDestination:=Range("A3"), TableName:="PivotData")
ActiveSheet.PivotTables("PivotData").AddDataField ActiveSheet.PivotTables( _
"PivotData").PivotFields("Total Hours"), "Sum of Total Hours", xlSum
With ActiveSheet.PivotTables("PivotData").PivotFields("Profit Centre Name")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotData").PivotFields("WBS (Code)")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("PivotData").PivotFields("WBS (Desc)")
.Orientation = xlRowField
.Position = 3
End With
With ActiveSheet.PivotTables("PivotData").PivotFields("Task")
.Orientation = xlRowField
.Position = 4
End With
With ActiveSheet.PivotTables("PivotData").PivotFields("Project Key")
.Orientation = xlRowField
.Position = 5
End With
With ActiveSheet.PivotTables("PivotData").PivotFields("Billing Key")
.Orientation = xlRowField
.Position = 6
End With
With ActiveSheet.PivotTables("PivotData").PivotFields("Employee Name")
.Orientation = xlRowField
.Position = 7
End With
With ActiveSheet.PivotTables("PivotData").PivotFields("Employee ID")
.Orientation = xlRowField
.Position = 8
End With
With ActiveSheet.PivotTables("PivotData").PivotFields("Fiscal Week (WE Date)" _
)
.Orientation = xlColumnField
.Position = 1
End With
ActiveSheet.PivotTables("PivotData").RowAxisLayout xlTabularRow
'Turning OFF Sub-Totals for all pivot fields
ActiveSheet.PivotTables("PivotData").PivotFields("Fiscal Period").Subtotals _
= Array(False, False, False, False, False, False, False, False, False, False, False, False _
)
ActiveSheet.PivotTables("PivotData").PivotFields("Fiscal Week").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
ActiveSheet.PivotTables("PivotData").PivotFields("Fiscal Week (WE Date)"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
ActiveSheet.PivotTables("PivotData").PivotFields("Cost Centre").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
ActiveSheet.PivotTables("PivotData").PivotFields("Cost Centre Name"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
ActiveSheet.PivotTables("PivotData").PivotFields("Charge to ProfitCtr"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
ActiveSheet.PivotTables("PivotData").PivotFields("Profit Centre Name"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
ActiveSheet.PivotTables("PivotData").PivotFields("WBS (Code)").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
ActiveSheet.PivotTables("PivotData").PivotFields("WBS (Desc)").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
ActiveSheet.PivotTables("PivotData").PivotFields("Employee Company Desc"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
ActiveSheet.PivotTables("PivotData").PivotFields("Employee ID").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
ActiveSheet.PivotTables("PivotData").PivotFields("Employee Name").Subtotals _
= Array(False, False, False, False, False, False, False, False, False, False, False, False _
)
ActiveSheet.PivotTables("PivotData").PivotFields("Employee Type").Subtotals _
= Array(False, False, False, False, False, False, False, False, False, False, False, False _
)
ActiveSheet.PivotTables("PivotData").PivotFields("Employee Subgroup"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
ActiveSheet.PivotTables("PivotData").PivotFields("Attendance Code"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
ActiveSheet.PivotTables("PivotData").PivotFields("Attendance Description"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
ActiveSheet.PivotTables("PivotData").PivotFields("Project Key").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
ActiveSheet.PivotTables("PivotData").PivotFields("Billing Key").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
ActiveSheet.PivotTables("PivotData").PivotFields("Task").Subtotals = Array( _
False, False, False, False, False, False, False, False, False, False, False, False)
ActiveSheet.PivotTables("PivotData").PivotFields("Comment").Subtotals = Array _
(False, False, False, False, False, False, False, False, False, False, False, False)
ActiveSheet.PivotTables("PivotData").PivotFields("Reference Code").Subtotals _
= Array(False, False, False, False, False, False, False, False, False, False, False, False _
)
'Turning on SubTotals for WBS Codes and Profit Centre Names
ActiveSheet.PivotTables("PivotData").PivotFields("Total Hours").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
ActiveSheet.PivotTables("PivotData").PivotFields("Profit Centre Name"). _
Subtotals = Array(True, False, False, False, False, False, False, False, False, False, _
False, False)
ActiveSheet.PivotTables("PivotData").PivotFields("WBS (Code)").Subtotals = _
Array(True, False, False, False, False, False, False, False, False, False, False, False)
End Sub