2017-05-31 4 views
0

ピボットテーブルがセットアップされています(イメージを参照してください)。私は国に基づいてピボットテーブルからデータを抽出しようとしています。行の国が行領域にアクセスでき、行領域が行の製品にアクセスできることがわかります。私は両方の領域、すべての製品、および価格の合計を取得し、それをsheet2に移動するために、Franceという制約の下でデータをコピーしたいと思います。ピボットテーブルからのデータの抽出

これは私の考え方ですが、selectメソッドは現在のプロパティ/メソッドではサポートされていません。フランスの下ですべてのデータを選択するにはどうすればよいですか?

Sheets("MY Pivot").PivotTables("MY_Pivot").PivotFields("Country").PivotItems("France" _ 
    ).ShowDetail = True 'Show pivot item 

Sheets("MY Pivot").PivotTables("MY_Pivot").PivotFields("Country").PivotItems("France" _ 
    ).Select 'Select pivot item to copy 

Selection.Copy 'Copy the pivot items 
Sheets("Sheet2").Range("A1").Select 'Select sheet cell for paste 
Sheets("Sheet2").Paste 'Paste the selected France results 

Pivot Table

答えて

1

あなたはSelectを使用することなく、 "シート2" に.PivotItems("France").DataRange.EntireRowをコピーすることができます。

コード

Option Explicit 

Sub CopyPivotItemDataRange() 

Dim PvtTbl As PivotTable 
Dim PvtFld As PivotField 

' set the Pivot Table object 
Set PvtTbl = Sheets("MY Pivot").PivotTables("MY_Pivot") 
' set the Pivot Field object 
Set PvtFld = PvtTbl.PivotFields("Country") 

With PvtFld 
    .PivotItems("France").ShowDetail = True 'Show pivot item 

    ' copy >> paste the entire Range data under "France" to "Sheet2" 
    .PivotItems("France").DataRange.EntireRow.Copy Destination:=Sheets("Sheet2").Range("A1") 
End With 

End Sub