我正在尝试创建一个交互式数据透视表,允许用户选择要显示的数据字段(即赚取的美元,花费的金额)。我有以下代码可以使用
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
范围(" D21")实际上是一个下拉列表,用户可以在其中选择赚取的美元和花费的金额。但是,当我尝试使用这个时,我得到一个错误,指出Rang(" D21")不是枢轴字段。
有什么建议吗?
答案 0 :(得分:0)
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