2017-08-16 5 views
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 

答えて

0

私はついにこれを考え出しました。他の誰かが疑問に思っている場合に備えて、最良の方法は、マクロを記録することです。

  1. データの表示を開始するセルを選択します。私の場合、それは "B10"でした。これは、ピボットテーブルのデータがどこにあるかに応じて、他のすべてのユーザーとは異なります。
  2. SHIFT + END + DOWN ARROWキーを押して使用範囲の下に移動します。
  3. 非表示にする行をすべて選択します。
  4. 右クリックすると非表示になります。
  5. リストから[フィルタ]を選択します。
  6. 「選択したアイテムを非表示にする」をクリックします。

以下、私が将来参照するコードを示します。

Application.Goto reference:=Workbooks("File").Sheets("Sheet1").Range("B10") 
If IsEmpty(Range("B11").value) = False Then 
Range("B10").Select 
Range(Selection, Selection.End(xlDown)).Select 
Selection.Delete 
Else 
End If 
関連する問題