Some references and structure and objects and logic were wrong
Option Explicit Sub ToggleFields() Dim pf As PivotField For Each pf In ActiveSheet.PivotTables(1).DataFields If pf.Function = xlAverage Then pf.Function = xlSum ElseIf pf.Function = xlSum Then pf.Function = xlAverage End If Next End Sub