2017-05-31 80 views
0

我有一个数据透视表设置(请参阅图像以获取更好的想法)。我试图从基于国家的数据透视表中提取数据。您可以看到行国家允许访问行区域,并且行区域可以访问行产品。我想在约束条件下复制数据:France以获得区域,所有产品以及价格总和并将其移至sheet2。从数据透视表中提取数据

以下是我的想法,我可以如何解决这个问题,但是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

您可以复制.PivotItems("France").DataRange.EntireRow为 “Sheet2的”,而无需使用Select

代码

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