0
Excel 2013 VBAを使用してピボットテーブルの上位5アイテムのみを選択する方法を見つけようとしています。Excel 2013 VBAピボットテーブルは、上位5つのアイテム(ネクタイ)を選択します。
ActiveSheet.PivotTables("PivotTable5").PivotFilters. _
.PivotFields("field1") Add2 Type:=xlTopCount, _ DataField:=ActiveSheet.PivotTables("PivotTable5"). _
PivotFields("fied1"), Value1:=5
コードを:これはマクロレコーダーが私を与え、動作しないコードである
Dim c
dim i as long
Worksheets("sheet1").PivotTables(1).PivotFields ("field1")
ActiveSheet.PivotTables(1).PivotFields("field1").CurrentPage = "(All)"
With ActiveSheet.PivotTables(1).PivotFields("field1")
c = 5
For i = .PivotItems.Count To 1 Step -1
If (c > 0) Then
.PivotItems(i).Visible = True
Else
.PivotItems(i).Visible = False
End If
c = c - 1
Next
End With
:私はトップ5項目を表示する試みで次のコード行を試してみましたトップ5リストにない値の値との関連がない場合は、下のように正しく動作します。私たちのデータセットでは、私たちは常にトップ5のリストに繋がります。
With Workbooks(cFileName).Worksheets("sheet1")
.PivotTables(1).PivotFields("Field1").PivotFilters.Add2
xlTopCount, .PivotTables(1).PivotFields("Field1"), 5
End With
EDIT: ピボットテーブルリストがチェックされているなど、いくつかの項目が表示されますが、データはこれらの値に関連付けられていません。これらのピボットテーブルに基づくチャートは空白で、次のコードではフィールドの下の5つの値だけを元のポストで行うように選択しています。
With workbook.Worksheets("sheet1").PivotTables("PivotTable2").PivotFields
("Count of Description")
For Each WS In ActiveWorkbook.Worksheets
For Each pvt In WS.PivotTables
c = 5
For i = .PivotItems.Count To 1 Step -1
If (c > 0) Then
.PivotItems(i).Visible = True
Else
.PivotItems(i).Visible = False
End If
c = c - 1
Next
Next
Next
End With