Hello,

I would like some help making this code below more efficient. Possibly improving the charting code toward the end of the routine.


Sub totalpa1()

' Totalpa Macro
' Updates All Pivot Tables in Pivot Data Sheet

Application.ScreenUpdating = False

'Changes PAG Group buttons for selection

Worksheets("Dashboard").Shapes("Button 161").OLEFormat.Object.Caption = "- -"
Worksheets("Dashboard").Shapes("Button 162").OLEFormat.Object.Caption = "- -"
Worksheets("Dashboard").Shapes("Button 159").OLEFormat.Object.Caption = "- -"
Worksheets("Dashboard").Shapes("Button 160").OLEFormat.Object.Caption = "- -"

'Changes state button relative to current PA selection
Worksheets("Dashboard").Shapes("Button 145").OLEFormat.Object.OnAction = "totalpaqld"
Worksheets("Dashboard").Shapes("Button 151").OLEFormat.Object.OnAction = "totalpavic"
Worksheets("Dashboard").Shapes("Button 150").OLEFormat.Object.OnAction = "totalpansw"
Worksheets("Dashboard").Shapes("Button 149").OLEFormat.Object.OnAction = "totalpasa"
Worksheets("Dashboard").Shapes("Button 152").OLEFormat.Object.OnAction = "totalpant"
  
'Change Pivots back to ALL


For i = 1 To 47
With Sheets("Pivot Data")


    .PivotTables("Pivottable" & i).PivotFields("PAG Group").CurrentPage = "(ALL)"
    .PivotTables("Pivottable" & i).PivotFields("Sales Office").CurrentPage = "(ALL)"
    .PivotTables("Pivottable" & i).PivotFields("PAG Group2").CurrentPage = "(ALL)"
    End With
    Next i
    

    
With Sheets("Dashboard")


    .PivotTables("Pivottable2").PivotFields("PAG Group").CurrentPage = "(ALL)"
    .PivotTables("Pivottable2").PivotFields("Sales Office").CurrentPage = "(ALL)"
    .PivotTables("Pivottable2").PivotFields("PAG Group2").CurrentPage = "(ALL)"
    
    End With

 With Sheets("Dashboard")
 
          With .ChartObjects("Chart 1").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR21")), -1)
     End With
          With .ChartObjects("Chart 2").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR22")), -1)
     End With
          With .ChartObjects("Chart 3").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR23")), -1)
     End With
          With .ChartObjects("Chart 4").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR24")), -1)
     End With
          With .ChartObjects("Chart 5").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR25")), -1)
     End With
          With .ChartObjects("Chart 6").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR26")), -1)
     End With
          With .ChartObjects("Chart 7").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR27")), -1)
     End With
          With .ChartObjects("Chart 8").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR28")), -1)
     End With
          With .ChartObjects("Chart 9").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR29")), -1)
     End With
          With .ChartObjects("Chart 10").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR30")), -1)
     End With
          With .ChartObjects("Chart 11").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR31")), -1)
     End With
          With .ChartObjects("Chart 12").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR32")), -1)
     End With
          With .ChartObjects("Chart 13").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR33")), -1)
     End With
          With .ChartObjects("Chart 14").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR34")), -1)
     End With
          With .ChartObjects("Chart 15").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR35")), -1)
     End With
          With .ChartObjects("Chart 16").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR36")), -1)
     End With
          With .ChartObjects("Chart 17").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR37")), -1)
     End With
          With .ChartObjects("Chart 18").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR38")), -1)
     End With
          With .ChartObjects("Chart 19").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR39")), -1)
     End With
          With .ChartObjects("Chart 20").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR40")), -1)
     End With
          With .ChartObjects("Chart 21").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR41")), -1)
     End With
          With .ChartObjects("Chart 22").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR42")), -1)
     End With
          With .ChartObjects("Chart 23").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR43")), -1)
     End With
          With .ChartObjects("Chart 24").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR44")), -1)
     End With
          With .ChartObjects("Chart 25").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR45")), -1)
     End With
          With .ChartObjects("Chart 26").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR46")), -1)
     End With
          With .ChartObjects("Chart 27").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR47")), -1)
     End With
          With .ChartObjects("Chart 28").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR48")), -1)
     End With
          With .ChartObjects("Chart 29").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR49")), -1)
     End With
          With .ChartObjects("Chart 30").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR50")), -1)
     End With
          With .ChartObjects("Chart 31").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR51")), -1)
     End With
          With .ChartObjects("Chart 32").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR52")), -1)
     End With
          With .ChartObjects("Chart 33").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR53")), -1)
     End With
          With .ChartObjects("Chart 34").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR54")), -1)
     End With
          With .ChartObjects("Chart 35").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR55")), -1)
     End With
          With .ChartObjects("Chart 36").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR56")), -1)
     End With
          With .ChartObjects("Chart 37").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR57")), -1)
     End With
          With .ChartObjects("Chart 38").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR58")), -1)
     End With
          With .ChartObjects("Chart 39").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR59")), -1)
     End With
          With .ChartObjects("Chart 40").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR60")), -1)
     End With
          With .ChartObjects("Chart 41").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR61")), -1)
     End With
          With .ChartObjects("Chart 42").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR62")), -1)
     End With
          With .ChartObjects("Chart 43").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR63")), -1)
     End With
          With .ChartObjects("Chart 44").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR64")), -1)
     End With
          With .ChartObjects("Chart 45").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR65")), -1)
     End With
          With .ChartObjects("Chart 46").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR66")), -1)
     End With
          With .ChartObjects("Chart 47").Chart.Axes(xlValue)
     .MinimumScale = WorksheetFunction.RoundDown(WorksheetFunction.Min(Range("BR67")), -1)
     End With
     




Application.ScreenUpdating = True

End With

End Sub