2016-10-05 11 views
-1

ユーザーは、表示するデータフィールド(つまり、獲得したドル、ドルを費やしたもの)を選択できるようにして、対話式ピボットテーブルを作成しようとしています。ユーザーがデータフィールドをピボットにセルに基づいて追加します

Sub AddMoreFields() 

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

End Sub 

を表示するデータを選択できるように、私はレンジ(「D21」)、

Sub AddMoreFields() 

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

End Sub 

しかし、私は、次のようなものに変更したいの作品次のコードを持っています実際には、ユーザーが獲得したドルと消費したドルの間で選択できるドロップダウンリストになります。しかし、私はこれを使用しようとすると、Rang( "D21")がピボットフィールドではないというエラーが表示されます。

提案がありますか?

答えて

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 
+0

提案したスニペットを少し説明できますか?これにより、検索可能なコンテンツが作成され、回答が表示されます。 –

関連する問題