미해결
VBA를 통한 Pivot '부분합 표시안함' 작업 문의
안녕하세요 선생님
VBA를 통해 피벗 테이블 전체 '부분합 표시안함'을 하려면 어떻게 VBA를 작성하면 되는지 문의드립니다.
아래와 같이 해당 작업을 매크로 기록하면 다소 지저분하고 길어 간결한 문장으로 만들고 싶습니다.
피벗 생성 시 '테이블 형식' - 전체 '부분합 표시안함' 절차를 VBA로 작성 중인데,
'테이블 형식'은 알게 되었으나, '부분합 표시안함'은 확인할 수가 없어 이렇게 조언 요청드립니다.
시간되신다면 조언 부탁드립니다.
늘 감사드립니다.
Sub 매크로1()
'
' 매크로1 매크로
'
'
ActiveSheet.PivotTables("피벗 테이블1").PivotFields("[범위 1].[1차].[1차]").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
ActiveSheet.PivotTables("피벗 테이블1").PivotFields("[범위 1].[2차].[2차]").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
ActiveSheet.PivotTables("피벗 테이블1").PivotFields("[범위 1].[비고].[비고]").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
End Sub
VBA를 통해 피벗 테이블 전체 '부분합 표시안함'을 하려면 어떻게 VBA를 작성하면 되는지 문의드립니다.
아래와 같이 해당 작업을 매크로 기록하면 다소 지저분하고 길어 간결한 문장으로 만들고 싶습니다.
피벗 생성 시 '테이블 형식' - 전체 '부분합 표시안함' 절차를 VBA로 작성 중인데,
'테이블 형식'은 알게 되었으나, '부분합 표시안함'은 확인할 수가 없어 이렇게 조언 요청드립니다.
시간되신다면 조언 부탁드립니다.
늘 감사드립니다.
Sub 매크로1()
'
' 매크로1 매크로
'
'
ActiveSheet.PivotTables("피벗 테이블1").PivotFields("[범위 1].[1차].[1차]").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
ActiveSheet.PivotTables("피벗 테이블1").PivotFields("[범위 1].[2차].[2차]").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
ActiveSheet.PivotTables("피벗 테이블1").PivotFields("[범위 1].[비고].[비고]").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
End Sub
홍
정
예
당
댓글 4
작성하신 매크로 명령문은 '부분합 표시 안함' 매크로가 맞습니다.
하지만 좀 더 나은 가독성을 위해, Array 형식으로 사용하는 것 보다는
ActiveSheet.PivotTables("피벗 테이블1").PivotFields("[범위 1].[1차].[1차]").Subtotals(1) = True과 같이 특정 계산옵션 항목을 지정해서 활성화/비활성화 하는게 일반적입니다. ^^
1은 자동계산, 2는 합계, 3은 개수 등.. 숫자를 지정할 수 있습니다. 자세한 항목은 아래 링크를 확인해보세요.
https://docs.microsoft.com/en-us/office/vba/api/excel.pivotfield.subtotals
답변이 도움이 되셨길 바랍니다. 화이팅입니다!(ง •̀_•́)ง
만약 피벗테이블에 전체 행 3가지(1차,2차,비고)에 부분합이 표시되어있다면
아래와 같이 작성하는 게 한 번에 "부분합 표시안함" 하기에 간결하겠군요
ActiveSheet.PivotTables("피벗 테이블1").PivotFields("[범위 1].[1차].[1차]").Subtotals(1) = False
ActiveSheet.PivotTables("피벗 테이블1").PivotFields("[범위 1].[2차].[2차]").Subtotals(1) = False
ActiveSheet.PivotTables("피벗 테이블1").PivotFields("[범위 1].[비고].[비고]").Subtotals(1) = False
With 문으로 ActiveSheet.PivotTables 를 묶어주면 더 간결해질 듯 합니다 :)
화이팅입니다!(ง •̀_•́)ง