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

VBA 코드로 엑셀 차트 마법사 자동화하기

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

VBA 코드로 엑셀 차트 마법사 자동화하기

엑셀은 데이터 시각화에 우수한 도구인 만큼, 다양한 차트를 만들어 데이터를 시각적으로 표현할 수 있습니다. 하지만 많은 데이터를 가진 경우 차트 생성 작업은 번거로울 수 있습니다. 이런 경우 VBA(Visual Basic for Applications) 코드를 사용하여 엑셀 차트 마법사를 자동화하는 방법을 알아보겠습니다.

1. VBA 코드로 엑셀 차트 마법사 자동 실행하기

먼저, 엑셀 파일을 열고 개발 탭에서 Visual Basic을 선택합니다. 이제 VBA 에디터가 열리면 새로운 모듈을 추가합니다. 모듈에 아래의 코드를 작성합니다.

Sub RunChartWizardAuto()
    Dim ws As Worksheet
    Dim chartObject As ChartObject

    ' 현재 시트를 기반으로 차트 매직
    Set ws = ActiveSheet
    
    ' 새 차트를 생성하고 차트 개체에 할당
    Set chartObject = ws.ChartObjects.Add(10, 10, 400, 300)
    
    ' 마법사가 자동으로 실행되도록 함
    chartObject.Chart.ChartWizard
End Sub

이 코드는 선택한 시트에 새로운 차트를 생성하고, 엑셀의 차트 마법사가 자동으로 실행되도록 합니다. 이제 모듈을 닫고, 개발 탭에서 디자인 모드를 빠져나옵니다.

2. 단축키로 VBA 코드 실행하기

이제 위의 코드를 실행하기 위해 단축키를 설정해보겠습니다. 엑셀 파일을 닫고, 개발 탭에서 마크 마법사를 선택합니다. 버튼을 추가하고, 버튼에 원하는 텍스트를 입력합니다. 그리고 마크 마법사 창을 닫습니다. 이제 개발 탭에서 단축키를 선택한 후, 단축키를 설정합니다.

위 단축키의 번호에 따라 코드를 실행할 수 있습니다. 이제 선택한 단축키를 누르면 VBA 코드가 실행되어 자동으로 차트를 생성하는 창이 나타납니다.

3. VBA 코드로 차트 스타일 설정하기

차트 마법사를 자동화하는 것 외에도 VBA 코드를 사용하여 차트 스타일도 설정할 수 있습니다. 예를 들어, 아래의 코드를 사용하여 막대형 차트의 스타일을 설정해보겠습니다.

Sub RunChartWizardAutoWithStyle()
    Dim ws As Worksheet
    Dim chartObject As ChartObject

    ' 현재 시트를 기반으로 차트 매직
    Set ws = ActiveSheet
    
    ' 새 차트를 생성하고 차트 개체에 할당
    Set chartObject = ws.ChartObjects.Add(10, 10, 400, 300)
    
    ' 차트 스타일 설정
    chartObject.Chart.ChartStyle = 8
    
    ' 마법사가 자동으로 실행되도록 함
    chartObject.Chart.ChartWizard
End Sub

이 코드에서는 chartObject.Chart.ChartStyle의 값을 8로 설정하여 막대형 차트의 스타일을 변경하였습니다. 다른 스타일을 적용하려면 해당 숫자를 변경하면 됩니다.

4. 결론

VBA 코드를 사용하여 엑셀 차트 마법사를 자동화하는 방법에 대해 알아보았습니다. 이를 통해 반복적인 차트 생성 작업을 크게 줄일 수 있습니다. 또한 스타일도 적용하여 보다 다양한 시각화 결과를 얻을 수 있습니다. 엑셀의 기능에 자동화를 추가하면 작업 효율성이 크게 향상됩니다.