VBA透视表总和/计数按钮

VBA透视表总和/计数按钮,vba,excel,Vba,Excel,正如标题中所述,我正在尝试制作一个按钮,在特定数据透视表字段中的计数和总和之间进行交换,我可以将其分成两个字段,但我对IF语句有一些问题,这就是我想到的: Sub Count() ' ' Macro3 Macro ' With ActiveSheet.PivotTables("PivotTable2").PivotFields("Sum of SP/UOM") .Caption = "Count of SP/UOM" .Function = xlCoun

正如标题中所述,我正在尝试制作一个按钮,在特定数据透视表字段中的计数和总和之间进行交换,我可以将其分成两个字段,但我对IF语句有一些问题,这就是我想到的:

Sub Count()
'
' Macro3 Macro
'

    With ActiveSheet.PivotTables("PivotTable2").PivotFields("Sum of SP/UOM")
        .Caption = "Count of SP/UOM"
        .Function = xlCount
    End With

End Sub

Sub Sum()
'
' Sum Macro
'

    With ActiveSheet.PivotTables("PivotTable2").PivotFields("Count of SP/UOM")
        .Caption = "Sum of SP/UOM"
        .Function = xlSum
    End With

End Sub

如果有人对如何做到这一点有想法,我将不胜感激

您可以使用如下循环:

Dim pf As PivotField
For Each pf In ActiveSheet.PivotTables("PivotTable2").DataFields
    If pf.SourceName = "SP/UOM" Then
        If pf.Function = xlSum Then
            pf.Caption = "Count of SP/UOM"
            pf.Function = xlCount
        Else
            pf.Caption = "Sum of SP/UOM"
            pf.Function = xlSum
        End If
        Exit For
    End If
Next

谢谢你的帮助,遗憾的是它给了我一个“for each pf…”的语法错误line@Basho-再次检查,有一个输入错误。