피벗 테이블의 각 이름을 필터링하고 다른 서브 루틴을 호출하여 테이블을 조작하고 형식을 지정하는 VBA 코드를 컴파일했습니다. 이 코드는 과거에는 완벽하게 작동했지만 원본 테이블을 업데이트하고 피벗 테이블에 약간의 형식을 변경하면 이제는 실패합니다. 여기 Excel VBA 자동 필터 피벗 테이블
코드이다Sub AutoFilterEachName()
Piv_Sht = ActiveSheet.Name
Sheets(ActiveSheet.Name).Select
For Each PivotItem In ActiveSheet.PivotTables(1).PageFields(1).PivotItems
ActiveSheet.PivotTables(1).PageFields(1).CurrentPage = PivotItem.Value
Call PivotCopyFormatValues
Call DeleteRows2
Call DeleteRows2
Call AddComment
Call Move_Save_As
Sheets(Piv_Sht).Select
Next
End Sub
첫째 코드가 시작되면 행 ActiveSheet.PivotTables(1).PageFields(1).CurrentPage = PivotItem.Value
는 이름 필터의 제 1 필터 값을 변경하지 않는다.
두 번째 : 루틴이 Next
에 도달하면 For Each
행까지 다시 돌아가서 End Sub
으로갑니다. 나는 결과를 Next PivotItem
부엉없이 추가하려고했습니다. 따라서 코드를 한 번 실행하고 중지합니다.
막 다른 골목에있어 도움을받을 수 있습니다.