본문 바로가기
AI&GPT

Chat GPT를 활용한 엑셀 VBA 기초편! (업무활용)

by 소개봇 2023. 6. 16.
반응형

엑셀 VBA를 활용하여 업무 효율 높이는 방법에 대해 알아보겠습니다.

ChatGPT 엑셀 VBA

엑셀은 알겠는데, VBA란 뭘까요?

엑셀 내에 있는 기능이며, VBA(Visual Basic for Applications)는 Microsoft Office 제품군에 포함된 프로그래밍 언어로, 엑셀에서 VBA를 사용하면 엑셀 파일을 자동화하고 사용자 정의 기능을 추가할 수 있다고 합니다.

VBA 코드를 작성하여 셀의 값이나 서식을 변경하거나, 데이터를 분석하고 처리하는 작업을 자동으로 수행할 수 있습니다. VBA를 사용하면 조건문, 반복문, 변수, 함수 등을 활용하여 복잡한 작업을 수행할 수 있으며, 엑셀의 기본 함수로는 수행하기 어려운 작업을 처리할 수 있습니다.

 

기본 엑셀 함수도 모르는데 굳이 VBA를 해야할까?

VBA를 사용하면 반복적이고 자주 수행되는 작업을 자동화할 수 있습니다. 예를 들어, 매일 동일한 데이터를 분석하거나 특정 작업을 수행해야 할 때, VBA를 사용하여 매크로를 작성하면 작업을 자동으로 수행할 수 있습니다.

엑셀의 기본 함수만으로는 수행할 수 없는 특정한 계산이나 데이터 처리를 위해 사용자 정의 함수를 작성하여 엑셀에서 활용할 수 있습니다.

 

코딩을 하나도 모르는데 작업이 가능할까?

필자도 코딩에 코자도 모르지만 VBA를 통한 작업을 하고 있습니다. 그 이유는 우리에겐 Chat GPT가 있기 때문입니다.

초보자도 따라 할 수 있게 기본적은 VBA 사용법에 대해 알려드리겠습니다. 기본을 습득하고 본인에 맞게 활용하시면 될 것 같습니다.

 

매출 데이터를 분석하고 시각화하는 기능을 포함한 엑셀 VBA 프로그램을 만들어보겠습니다.

먼저, 엑셀 파일을 열고 시트의 A1부터 C1까지 각 열에 "날짜", "제품", "매출"을 입력합니다. 그리고 각 열에 예시 데이터를 입력합니다.

엑셀 VBA 예시

다음으로, VBA 편집기를 열기 위해 "개발" 탭을 클릭하고 "Visual Basic"을 선택합니다.

만약 엑셀에 Visual Basic이 없다면 아래와 같이 진행해주세요.

엑셀 VBA

파일을 누르시고 왼쪽 맨 하단에 보면 "옵션" 이 있습니다.

엑셀 VBA

리본 사용자 지정 -> 개발도구에 체크 -> 확인

엑셀 VBA

그러면 아래와 같이 개발도구가 생성되고 Visual Basic을 사용할 준비가 완료 되었습니다.

 

이제 저희도 개발자입니다...(??)

다시 처음으로 돌아와서 Visual Basic을 선택합니다. 무서워보이는 창이 하나 떳습니다..

엑셀 VBA

VBA 편집기 창에서 Sheet1 을 더블클릭하고 아래 코드를 붙여넣습니다.

 

이 코드는 매출 데이터를 정렬하고 차트를 생성하여 시각화합니다.

날짜를 기준으로 데이터를 오름차순으로 정렬한 후, 열 형식의 막대 그래프로 매출 데이터를 시각화합니다. 

 

만약 원하시는 data가 있다면 Chat gpt에 원하시는 내용을 저처럼 한글로 작성하고 "VBA로 만들어줘"라고 요청하면 아래와 같은 Code를 생성해줍니다.

엑셀 VBA 예시

Option Explicit

Sub SalesAnalysis()
    ' 매출 데이터 분석 및 시각화
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim dataRange As Range
    Dim chartRange As Range
    Dim salesChart As ChartObject
    
    ' 현재 시트를 참조
    Set ws = ActiveSheet
    
    ' 데이터가 있는 마지막 행을 찾음
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    
    ' 데이터 범위를 설정
    Set dataRange = ws.Range("A1:C" & lastRow)
    
    ' 데이터를 정렬하여 날짜 기준으로 오름차순으로 정렬
    dataRange.Sort key1:=ws.Range("A2"), order1:=xlAscending, Header:=xlYes
    
    ' 매출 데이터를 시각화하기 위한 차트 생성
    Set salesChart = ws.ChartObjects.Add(Left:=300, Top:=10, Width:=400, Height:=300)
    
    ' 차트 범위 설정
    Set chartRange = ws.Range("A2:C" & lastRow)
    
    ' 차트 유형 설정 및 데이터 연결
    With salesChart.Chart
        .ChartType = xlColumnClustered
        .SetSourceData Source:=chartRange
        .HasTitle = True
        .ChartTitle.Text = "매출 분석"
        .Axes(xlCategory).HasTitle = True
        .Axes(xlCategory).AxisTitle.Text = "날짜"
        .Axes(xlValue).HasTitle = True
        .Axes(xlValue).AxisTitle.Text = "매출"
    End With
    
    ' 분석 및 시각화 완료 메시지 표시
    MsgBox "매출 데이터 분석 및 시각화가 완료되었습니다!", vbInformation
End Sub

자동으로 저장이 되었으니 편집기 창을 닫고, 엑셀 파일로 돌아와서 VBA 편집기를 닫습니다.

왼쪽 상단에 있는 "매크로" 버튼을 클릭하고, 

엑셀 VBA 예시

"SalesAnalysis"를 선택한 다음 "실행" 버튼을 클릭하면 매출 데이터가 분석되고 시각화됩니다. 

엑셀 VBA 예

완료되면 메시지 박스가 표시됩니다.

엑셀 VBA 자동화 예시

짜잔. 그래프가 아래와 같이 생성 되었습니다.

Visual Basic 예시

예시가 너무 간단한 내용이여서 굳이 Visual Basic을 통해 진행을 안하는 것이 더 빠를 것 같습니다만...

다음에는 조금 더 복잡한 예시를 가지고 블로그를 작성해보겠습니다.

 

VBA를 배우는데 도움이 되셨으면 좋겠습니다. 감사합니다.

반응형