XLA routines: EE_PivotRemoveFields

Nick's picture
Use EE_PivotRemoveFields to remove fields from a pivot table
Sub EE_PivotRemoveFields(pt As PivotTable, FieldsArrayOrRange)
    Dim intFld      As Integer
    Dim arr
 
'http://excelexperts.com/xla-routines-eePivotRemoveFields    for updates on this sub routine

    Select Case TypeName(FieldsArrayOrRange)
        Case "Variant()", "String"
            arr = FieldsArrayOrRange
        Case "Range"
            If FieldsArrayOrRange.Cells.Count = 1 Then
                ReDim arr(0)
                arr(0) = FieldsArrayOrRange
            Else
                arr = Application.Transpose(FieldsArrayOrRange)
            End If
        Case Else
    End Select
 
    For intFld = UBound(arr) To LBound(arr) Step -1
            pt.PivotFields(arr(intFld)).Orientation = xlHidden
    Next intFld
 
    Erase arr
End Sub