2017-12-01 9 views
0

以下のコードを使用してピボット内の特定のフィールドを削除したいが、機能していない。このコードで何が問題になっていますか?内部VBA - ピボットフィールドを非表示にする方法

Dim pt As PivotTable 
Dim pf As PivotField 
Dim df As PivotField 
Dim rows As Variant 

Set pt = ActiveSheet.PivotTables(1) 

'Remove rows not needed 
rows = Array("A", "B", "C", "D") 

For Each pt In ActiveSheet.PivotTables 
    pt.PivotFields(rows(0)).Orientation = xlHidden 
    pt.PivotFields(rows(1)).Orientation = xlHidden 
    pt.PivotFields(rows(2)).Orientation = xlHidden 
    pt.PivotFields(rows(3)).Orientation = xlHidden 
Next pt 

答えて

2

参照してくださいコメント:

Dim pt As PivotTable 
Dim pf As PivotField 
Dim df As PivotField 
Dim PTrows As Variant '<< DO NOT USE ROWS WHICH IS RESERVED OBJECT INSTRUCTION 

'Set pt = ActiveSheet.PivotTables(1) << YOU DON'T NEED IT IF YOU HAVE A LOOP 

'Remove rows not needed 
PTrows = Array("A", "B", "C", "D") 

For Each pt In ActiveSheet.PivotTables 
    pt.PivotFields(PTrows(0)).Orientation = xlHidden 
    pt.PivotFields(PTrows(1)).Orientation = xlHidden 
    pt.PivotFields(PTrows(2)).Orientation = xlHidden 
    pt.PivotFields(PTrows(3)).Orientation = xlHidden 
Next pt 
+0

うわー!あなたの助けとアドバイスのおかげでサー!私はそれに注意を払う:) – jhovyn

関連する問題