【问题标题】:Add Data field to Pivot based on cell根据单元格将数据字段添加到数据透视表
【发布时间】:2016-10-05 22:01:19
【问题描述】:

我正在尝试通过允许用户选择要显示的数据字段来创建交互式数据透视表(即赚取的美元、花费的美元)。我有以下有效的代码

Sub AddMoreFields()

 With ActiveSheet.PivotTables("PivotTable1")
 .AddDataField ActiveSheet.PivotTables( _
 "PivotTable1").PivotFields("Dollars_spent")
 End With

End Sub

但是,我想将其更改为以下内容,以便用户可以选择要显示的数据

Sub AddMoreFields()

 With ActiveSheet.PivotTables("PivotTable1")
 .AddDataField ActiveSheet.PivotTables( _
 "PivotTable1").PivotFields(Range("d21"))
 End With

End Sub

Range("D21") 实际上是一个下拉列表,用户可以在其中选择赚取的美元和花费的美元。但是,当我尝试使用它时,我收到一条错误消息,指出 Rang("D21") 不是数据透视字段。

有什么建议吗?

【问题讨论】:

    标签: excel vba pivot-table


    【解决方案1】:
    Sub adddynamic()
    Dim pt As PivotTable
    Dim pf As PivotField
    Dim f As String
    
    f = Range("d21")
    Set pt = ActiveSheet.PivotTables("PivotTable1")
    Set pf = pt.PivotFields(f)
    pt.AddDataField pf, "Sum of " & f, xlSum
    
    End Sub
    

    【讨论】:

    • 你能描述一下你建议的sn-p吗?这会创建可搜索的内容并帮助您查看答案。
    猜你喜欢
    • 2018-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-12
    • 1970-01-01
    • 2018-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多