본문 바로가기
■ 칼퇴를 위한 VBA : 사례/- VBA for 엑셀

VBA로 엑셀 피벗테이블 작성 자동화하기

by 포탈메이커 2023. 7. 26.

VBA로 엑셀 피벗테이블 작성 자동화하기

이번 포스팅에서는 VBA(Visual Basic for Applications)를 사용하여 엑셀의 피벗테이블 작성을 자동화하는 방법에 대해 알아보겠습니다.

 

칼퇴키트, 업무용 도구모음

칼퇴를 위해 꼭 필요한 도구 모음을 제공합니다. 당장의 업무에 필요한 순간 사용하는 가벼운 메모장, 계산기, 변환기 등

portalmaker.backtohome.kr

 

1. 피벗테이블이란?

피벗테이블은 엑셀에서 데이터를 요약하고 분석할 수 있는 강력한 도구입니다. 피벗테이블을 사용하면 대용량 데이터를 빠르고 쉽게 분석할 수 있으며, 데이터의 추출, 그룹화, 집계 및 요약 등의 작업을 편리하게 수행할 수 있습니다.


2. VBA로 피벗테이블 작성 자동화하기

Sub CreatePivotTable()
    Dim ws As Worksheet
    Dim pt As PivotTable
    Dim rng As Range
    
    ' 데이터가 있는 시트명으로 변경
    Set ws = ThisWorkbook.Worksheets("데이터")
    
    ' 데이터 범위 설정
    Set rng = ws.Range("A1:E10")
    
    ' 피벗테이블 생성
    Set pt = ws.PivotTables.Add(PivotCache:=ws.PivotCaches.Create( _
        SourceType:=xlDatabase, SourceData:=rng), _
        TableDestination:=ws.Cells(2, 7))
        
    ' 피벗테이블 필드 설정
    With pt
        .PivotFields("사원명").Orientation = xlRowField
        .PivotFields("부서명").Orientation = xlRowField
        .PivotFields("직급").Orientation = xlColumnField
        .PivotFields("급여").Orientation = xlDataField
        .DataPivotField.Function = xlSum ' 집계 함수 설정
    End With
    
    ' 피벗테이블 서식 적용
    With pt.TableRange1
        .Borders.LineStyle = xlContinuous
        .Borders.Weight = xlThin
        .Font.Size = 12
        .Font.Color = RGB(0, 0, 0)
        .Interior.Color = RGB(255, 255, 255)
    End With
    
    ' 피벗테이블 업데이트 및 저장
    pt.RefreshTable
    ThisWorkbook.Save
End Sub

 


3. 마치며

 

이번 포스팅에서는 VBA를 사용하여 엑셀의 피벗테이블을 자동화하는 방법에 대해 알아보았습니다. 위의 예제를 참고하여 원하는 데이터에 맞게 코드를 수정하면, 복잡한 작업에도 효율적으로 피벗테이블을 작성할 수 있습니다. VBA를 잘 활용하면 업무의 생산성을 향상시킬 수 있으니, 많은 활용법을 연구해보시기 바랍니다.



포스팅이 도움이 되셨다면 구독, 공감, 댓글 부탁드려요!

행복한 하루 되세요!