Hi All! So i have code that does exactly what i want but it is too large to run. Would anyone have any suggestions on how i can condense this to allow it to run? When it looks at Target.Address E32 i will have 54 blocks of that "Case 4 Week Rolling...." code so it gets rather large, where the ****** are. The Data is in the form of a calendar with columns being every day of the year so i dont think setting up a pivot table and utilizing slicers will allow for what this code does. It basically removes all the data fields in the pivot table then adds in calculated columns i have worked out after the calendar. Any help or inspiration is appreciated!
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$C$32" Then
Dim ptc As PivotTable
Dim FieldC As PivotField
Dim ptd As PivotTable
Dim FieldD As PivotField
Set ptc = ActiveSheet.PivotTables("PivotTable10")
Set ptd = ActiveSheet.PivotTables("PivotTable11")
Set FieldC = ptc.PivotFields("FTO Group")
Set FieldD = ptd.PivotFields("FTO Group")
NewCat = ActiveSheet.Range("C32").Value
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
With ptc
FieldC.ClearAllFilters
FieldC.CurrentPage = NewCat
ptc.RefreshTable
End With
With ptd
FieldD.ClearAllFilters
FieldD.CurrentPage = NewCat
ptd.RefreshTable
End With
End If
If Target.Address = "$E$32" Then
Application.EnableEvents = False
With Application
.ScreenUpdating = False
.DisplayAlerts = False
Select Case Target.Value
Case "4 Week Rolling Ending on 01/24/2015"
ActiveSheet.PivotTables("PivotTable10").DataPivotField.Orientation = xlHidden
ActiveSheet.PivotTables("PivotTable10").AddDataField ActiveSheet.PivotTables("PivotTable10").PivotFields("Week 1 All Assignments"), , xlSum
ActiveSheet.PivotTables("PivotTable10").AddDataField ActiveSheet.PivotTables("PivotTable10").PivotFields("Week 2 All Assignments"), , xlSum
ActiveSheet.PivotTables("PivotTable10").AddDataField ActiveSheet.PivotTables("PivotTable10").PivotFields("Week 3 All Assignments"), , xlSum
ActiveSheet.PivotTables("PivotTable10").AddDataField ActiveSheet.PivotTables("PivotTable10").PivotFields("Week 4 All Assignments"), , xlSum
ActiveSheet.PivotTables("PivotTable10").AddDataField ActiveSheet.PivotTables("PivotTable10").PivotFields("Week 1 Days Worked"), , xlSum
ActiveSheet.PivotTables("PivotTable10").AddDataField ActiveSheet.PivotTables("PivotTable10").PivotFields("Week 2 Days Worked"), , xlSum
ActiveSheet.PivotTables("PivotTable10").AddDataField ActiveSheet.PivotTables("PivotTable10").PivotFields("Week 3 Days Worked"), , xlSum
ActiveSheet.PivotTables("PivotTable10").AddDataField ActiveSheet.PivotTables("PivotTable10").PivotFields("Week 4 Days Worked"), , xlSum
ActiveSheet.PivotTables("PivotTable11").DataPivotField.Orientation = xlHidden
ActiveSheet.PivotTables("PivotTable11").AddDataField ActiveSheet.PivotTables("PivotTable11").PivotFields("4 Week Sum Week 4"), , xlSum
ActiveSheet.PivotTables("PivotTable11").AddDataField ActiveSheet.PivotTables("PivotTable11").PivotFields("4 Week Rolling Week 4"), , xlSum
Case "4 Week Rolling Ending on 01/31/2015"
ActiveSheet.PivotTables("PivotTable10").DataPivotField.Orientation = xlHidden
ActiveSheet.PivotTables("PivotTable10").AddDataField ActiveSheet.PivotTables("PivotTable10").PivotFields("Week 2 All Assignments"), , xlSum
ActiveSheet.PivotTables("PivotTable10").AddDataField ActiveSheet.PivotTables("PivotTable10").PivotFields("Week 3 All Assignments"), , xlSum
ActiveSheet.PivotTables("PivotTable10").AddDataField ActiveSheet.PivotTables("PivotTable10").PivotFields("Week 4 All Assignments"), , xlSum
ActiveSheet.PivotTables("PivotTable10").AddDataField ActiveSheet.PivotTables("PivotTable10").PivotFields("Week 5 All Assignments"), , xlSum
ActiveSheet.PivotTables("PivotTable10").AddDataField ActiveSheet.PivotTables("PivotTable10").PivotFields("Week 2 Days Worked"), , xlSum
ActiveSheet.PivotTables("PivotTable10").AddDataField ActiveSheet.PivotTables("PivotTable10").PivotFields("Week 3 Days Worked"), , xlSum
ActiveSheet.PivotTables("PivotTable10").AddDataField ActiveSheet.PivotTables("PivotTable10").PivotFields("Week 4 Days Worked"), , xlSum
ActiveSheet.PivotTables("PivotTable10").AddDataField ActiveSheet.PivotTables("PivotTable10").PivotFields("Week 5 Days Worked"), , xlSum
ActiveSheet.PivotTables("PivotTable11").DataPivotField.Orientation = xlHidden
ActiveSheet.PivotTables("PivotTable11").AddDataField ActiveSheet.PivotTables("PivotTable11").PivotFields("4 Week Sum Week 5"), , xlSum
ActiveSheet.PivotTables("PivotTable11").AddDataField ActiveSheet.PivotTables("PivotTable11").PivotFields("4 Week Rolling Week 5"), , xlSum
*********************************
*********************************
End Select
End With
Application.EnableEvents = True
End If
End Sub
Bookmarks