2017-12-01 1 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

관련 문제