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

엑셀 VBA를 사용하여 피벗 테이블 생성하는 방법

by 포탈메이커 2023. 6. 24.

엑셀 VBA를 사용하여 피벗 테이블 생성하는 방법

많은 경우, 엑셀에서 작성한 데이터를 보고 결정하기 전에 간단한 요약을 보고 싶을 수 있습니다. 이를 위해서 피벗 테이블(Pivot Table)을 사용할 수 있습니다. 피벗 테이블은 데이터를 요약하고 분석하는 데 큰 도움이 됩니다.

이번 포스팅에서는 엑셀 VBA를 사용하여 피벗 테이블을 생성하는 방법에 대해 알아보겠습니다.

 

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

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

portalmaker.backtohome.kr

 

1. 피벗 테이블 생성

우선, VBA 코드를 통해 피벗 테이블을 생성할 엑셀 시트로 이동합니다. 그리고 아래의 코드를 입력합니다.

Sub CreatePivotTable()

    Dim Pivot_Sheet As Worksheet
    Dim Data_Length As Long
    Dim Pivot_Range As Range
    Dim Pivot_Table As PivotTable
    
    Set Pivot_Sheet = ActiveWorkbook.Worksheets.Add(after:= _
        ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count))
    Pivot_Sheet.Name = "피벗 테이블"
    
    Data_Length = ActiveSheet.UsedRange.Rows.Count
    Set Pivot_Range = ActiveSheet.Range("A1:F" & Data_Length)
    
    Set Pivot_Table = Pivot_Sheet.PivotTableWizard(TableDestination:= _
        Pivot_Sheet.Cells(1, 1), SourceType:=xlDatabase, SourceData:= _
        Pivot_Range, TableName:="매출_피벗_테이블")
        
End Sub

위 코드는 새로운 엑셀 시트를 만들고 Pivot Table에 사용될 데이터 범위를 선택한 후, Pivot Table 생성 마법사를 호출합니다. 마법사는 Pivot Table 필드를 선택하고 Pivot Table에 대한 레이아웃을 지정하는 도구입니다.


2. 피벗 테이블 필드 선택

마법사가 호출되면, 첫 번째 단계로 Pivot Table에 사용될 필드를 선택해야 합니다. 열, 행 및 데이터 필드를 선택할 수 있습니다.

Set PivotField = PivotTable.PivotFields("Region")
Pivot_Field.Orientation = xlRowField

Set PivotField = PivotTable.PivotFields("Month")
Pivot_Field.Orientation = xlColumnField

Set PivotField = PivotTable.PivotFields("Sales")
Pivot_Field.Orientation = xlDataField

여기서, 우리는 Region을 열 필드로, Month를 행 필드로, 그리고 Sales를 데이터 필드로 선택했습니다. 이제 우리가 선택한 필드를 Pivot Table에 배치합니다.


3. 피벗 테이블 레이아웃 지정

두 번째 단계는 Pivot Table에 대한 레이아웃을 지정하는 것입니다. 이를 위해서 Pivot Table 필드를 조작할 필요가 있습니다.

With Pivot_Table.PivotFields("Region")
    .Orientation = xlColumnField
    .Position = 1
End With

With Pivot_Table.PivotFields("Month")
    .Orientation = xlRowField
    .Position = 1
End With

With Pivot_Table.PivotFields("Sales")
    .Orientation = xlDataField
    .Function = xlSum
    .NumberFormat = "$#,##0.00"
End With

위 코드에서, Region 필드를 두 번째 열, Month 필드를 두 번째 행으로 배치하고 있습니다. 그리고 Sales 필드를 데이터 필드로 배치하고 있습니다. 함수는 총 합계(xlSum)이고 통화 형식을 추가했습니다($#,##0.00).


4. 피벗 테이블 스타일 추가

마지막 단계는 Pivot Table 스타일을 추가하는 것입니다. Pivot Table에 대해 제공되는 내장 스타일을 사용할 수도 있습니다. 이를 위해서 다음과 같은 코드를 입력합니다.

Pivot_Table.TableStyle2 = "PivotStyleLight16"


5. 작업 확인

이제 작성한 코드를 실행하면 피벗 테이블이 생성되고 레이아웃 및 스타일이 적용됩니다. 데이터를 추가하거나 수정한 후 테이블을 다시 업데이트 할 수도 있습니다. 피벗 테이블을 업데이트 하려면, 테이블을 선택하고 오른쪽 버튼을 클릭한 다음, "새로 고침"을 선택하면 됩니다.


6. 마치며

피벗 테이블은 엑셀에서 작성한 데이터를 간단하게 요약하고 분석하는 데 매우 유용한 도구입니다. 엑셀 VBA를 사용하면 피벗 테이블에 데이터를 쉽게 추가하고 피벗 테이블에 필요한 레이아웃과 스타일을 지정할 수 있습니다. 이번 블로그에서 배운 내용을 바탕으로, 다양한 데이터를 요약하고 분석하는 데 피벗 테이블을 사용해보세요!

 



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

행복한 하루 되세요!