2016-07-07 454 views
1

VBAでピボットテーブルを作成しましたが、ピボットテーブルのすべてのフィールドを折りたたむことができませんでした。どうすればいいですか? はここに私のソースコードVBAピボットテーブルすべて折りたたむ

SrcData = ActiveSheet.Name & "!" & Range(Cells(1, 1), Cells(46, 3)).Address(ReferenceStyle:=xlR1C1) 
StartPvt = Sheets("Key Controls").Cells(2, 5).Address(ReferenceStyle:=xlR1C1) 
Set pvtCache = ActiveWorkbook.PivotCaches.Create(_ 
    SourceType:=xlDatabase, _ 
    SourceData:=SrcData) 
Set pvt = pvtCache.CreatePivotTable(_ 
    TableDestination:=StartPvt, _ 
    TableName:="PivotTable1") 
pvt.PivotFields("SOP Reference").Orientation = xlRowField 
pvt.PivotFields("Key Control ID").Orientation = xlRowField 
pvt.PivotFields("Key Control Name").Orientation = xlRowField 
+1

向きも位置を有するべきです。 Ex。 ( "Key Control ID") .Orientation = xlRowField .Position = 2 End With '" SOP Reference "フィールド全体を折りたたみたいとします。適切なセルを選択します。 'A15'コードは' Range( "A15")になります。 ActiveSheet.PivotTables( "PivotTable3")を選択してください。PivotFields( "Key Control Name")。 _ PivotItems( "electron")。DrillTo "SOP Reference" 'あなたのテーブルはどうですか(https://www.dropbox.com/s/51znhaab1z0lnno/pivot_q070716.xlsm?dl=0) – skkakkar

答えて

0

ませ使用pf.ShowDetail = False行います:それは、効率の悪夢である

を、あなたはLONG​​一瞬のために立ち往生し、おそらくExcelをクラッシュますよ!


使用するための良い方法DrillToある:行フィールドの

Public Sub PivotTable_Collapse() 

    Dim pT As PivotTable 
    Dim pF As PivotField 

    Set pT = ActiveSheet.PivotTables(1) 

    With pT 
     For Each pF In pT.RowFields 
      pF.DrillTo pF.Name 
     Next pF 
    End With 

End Sub 
関連する問題