29 min read

AI 활용으로 완성하는 VBA 엑셀 매크로, 반복 업무 3초 만에 끝내는 비법

매일 반복되는 엑셀 파일 취합과 데이터 분석 작업 때문에 야근하고 계신가요? ChatGPT를 활용해 VBA 코드를 생성하고 엑셀 매크로로 자동화하면 몇 시간 걸리던 업무를 단 3초로 단축할 수 있습니다. 코딩 지식 없이도 파일 취합부터 피벗테이블, 대시보드 생성까지 한 번에 처리하는 실전 방법을 단계별로 알아보세요.
AI 활용으로 완성하는 VBA 엑셀 매크로, 반복 업무 3초 만에 끝내는 비법

매일 반복되는 엑셀 작업 때문에 야근하고 계신가요? 여러 파일을 하나씩 열어서 복사하고 붙여넣는 작업에 지치셨나요? 이제 ChatGPT의 도움을 받아 VBA 코드로 이런 반복 작업을 한 번에 해결해보겠습니다.


결과물 시연

오늘 함께 만들어볼 엑셀 자동화 사례들을 먼저 살펴보겠습니다.

첫 번째: 파일 취합 자동화 각각의 엑셀 파일에 나눠져 있던 데이터들이 있습니다. 지금까지는 파일을 하나씩 열어서 복사하고 붙여넣기를 반복했죠. 이제 매크로 파일 하나만 실행하면 같은 폴더 안의 모든 엑셀 파일을 한 번에 취합할 수 있습니다.

두 번째: 피벗 테이블 및 차트 자동 생성 매번 업데이트되는 판매 데이터가 있다면, 버튼 하나만 클릭하면 바로 피벗 테이블과 피벗 차트가 자동으로 생성됩니다. 데이터가 추가되거나 변경되어도 동일하게 작동하죠.

세 번째: 간단한 대시보드 생성 수집된 데이터를 기반으로 한눈에 볼 수 있는 간단한 대시보드까지 자동으로 만들어볼 수 있습니다.


ChatGPT 활용 데이터 작업 vs VBA 코드 기반 데이터 작업

VBA란 무엇인가요?

VBA(Visual Basic for Applications)는 Microsoft Office 프로그램에서 반복 작업을 자동화하거나 사용자 지정 기능을 만들기 위한 스크립트 언어입니다. 쉽게 말해 엑셀에게 "이런 작업을 자동으로 해줘"라고 명령을 내리는 도구라고 생각하시면 됩니다.

ChatGPT 직접 활용 방식의 특징

작업 방식

  • 사용자가 엑셀 파일을 ChatGPT에 업로드
  • ChatGPT가 데이터를 직접 종합하고 분석
  • 결과물을 바로 제공

장점과 단점

  • 장점: 빠르고 편리함, 별도 설정 불필요
  • 단점: 파일 업로드가 필요해 보안에 민감한 기업에는 부적합

VBA 코드 기반 로컬 작업의 특징

작업 방식

  • ChatGPT가 자동화를 위한 VBA 코드를 생성
  • 사용자는 생성된 코드를 로컬 PC의 엑셀에서 직접 실행
  • 모든 작업이 개인 컴퓨터 안에서 완료

장점과 단점

  • 장점: 외부 업로드 없이 보안 우려 해결, 재사용 가능
  • 단점: 초기 설정에 약간의 수고 필요

왜 VBA 방식을 선택해야 할까요?

많은 기업에서 보안상의 이유로 ChatGPT에 데이터를 직접 업로드할 수 없는 상황이 있습니다. 이럴 때 VBA 코드를 활용하면 엑셀 환경 안에서 데이터 작업을 효율화하고 자동화할 수 있습니다.

참고로 오늘 진행하는 모든 과제는 ChatGPT에 파일을 직접 업로드해도 동일한 결과물을 얻을 수 있지만, 보안과 재사용성을 고려해 VBA 방식에 집중하겠습니다.

실습 안내

오늘 과정은 누구나 따라할 수 있도록 설계했지만, 엑셀 활용에 익숙하지 않은 분이라면 처음에는 낯설게 느껴질 수 있습니다. 하지만 한 번만 차근차근 따라해보시면 나중에 "아~ 이런 게 있었구나!" 하며 큰 도움을 받으실 수 있을 겁니다.

실습을 원활히 진행할 수 있도록 필요한 파일과 프롬프트를 모두 정리해두었으니, 함께 단계별로 따라해보시기 바랍니다.


VBA 코드 기본 설정 방법

본격적인 자동화 작업을 시작하기 전에, 엑셀에서 VBA를 사용하기 위한 기본 설정을 먼저 해보겠습니다. 처음 해보시는 분도 쉽게 따라할 수 있도록 단계별로 안내드리겠습니다.

'개발 도구' 탭 활성화하기

엑셀에서 VBA를 사용하려면 먼저 '개발 도구' 탭을 활성화해야 합니다. 기본적으로는 숨겨져 있어서 직접 설정해주어야 해요.

단계별 설정 방법

  • 엑셀에서 '파일' 메뉴를 클릭합니다
  • 좌측 하단에 있는 '옵션'을 클릭합니다
  • 왼쪽 메뉴에서 '리본 사용자 지정'을 선택합니다
  • 오른쪽 목록에서 '개발 도구' 체크박스를 클릭하여 활성화합니다
  • '확인' 버튼을 누르면 엑셀 상단 탭에 '개발 도구'가 생성됩니다

코드 에디터 창 살펴보기

이제 VBA 코드를 작성할 수 있는 에디터를 열어보겠습니다.

에디터 열기

  • '개발 도구' 탭에서 가장 왼쪽에 있는 'Visual Basic' 버튼을 클릭합니다
  • VBA 에디터 창이 새로 열립니다

에디터 구성 요소

  • 왼쪽 창: 현재 열려있는 파일들과 코드 목록을 확인할 수 있습니다. 오늘은 여기에 '모듈'을 삽입해서 코드를 저장할 예정입니다
  • 중앙 창: 실제 코드를 작성하는 공간입니다
  • 상단 도구막대: 코드를 실행할 수 있는 실행 버튼(▶️)이 있습니다

첫 번째 코드 실행해보기

이제 간단한 코드를 작성해서 VBA가 제대로 작동하는지 확인해보겠습니다.

모듈 추가하기

  • VBA 에디터에서 '삽입' 메뉴 → '모듈'을 클릭합니다
  • 새로운 모듈이 생성되고 코드 작성 창이 나타납니다

테스트 코드 작성

Sub HelloWorld()
    MsgBox "Hello World!"
End Sub
  • 위 코드를 복사해서 모듈 창에 붙여넣습니다
  • 코드 안에 커서를 놓고 상단의 실행 버튼(▶️)을 클릭합니다
  • "Hello World!"라는 메시지 창이 나타나면 성공입니다!

매크로 파일 저장 및 버튼 연결하기

코드를 작성했으니 이제 쉽게 실행할 수 있도록 버튼에 연결해보겠습니다.

매크로 확인하기

  • VBA 에디터를 닫고 엑셀로 돌아옵니다
  • '개발 도구' 탭에서 '매크로' 버튼을 클릭합니다
  • 방금 생성한 매크로가 목록에 나타나는지 확인하고 창을 닫습니다

실행 버튼 만들기

  • 엑셀 시트에서 '삽입' 탭 → '도형'을 클릭합니다
  • 원하는 도형을 하나 선택해서 적당한 크기로 그립니다
  • 도형에 "매크로 실행" 같은 텍스트를 입력합니다

매크로 연결하기

  • 생성한 도형에 마우스 오른쪽 버튼을 클릭합니다
  • '매크로 지정'을 선택합니다
  • 매크로를 선택하고 '확인'을 클릭합니다

실행 테스트

  • 이제 도형을 클릭해보세요
  • 아까와 같은 메시지 창이 나타나면 성공입니다!

매크로 파일 저장하기

VBA 코드가 포함된 파일은 특별한 형식으로 저장해야 합니다.

저장 방법

  • 'Ctrl + S' 또는 '파일' → '다른 이름으로 저장'을 클릭합니다
  • 파일 형식을 '매크로 사용 통합 문서(.xlsm)'로 변경합니다
  • 원하는 이름으로 저장합니다

주의사항

  • 다른 사람이 만든 매크로 파일을 열 때는 보안 경고가 나타날 수 있습니다
  • 신뢰할 수 있는 파일이라면 '콘텐츠 사용' 버튼을 클릭해서 매크로를 활성화하거나
    • 엑셀 파일을 열기 전에 파일 아이콘 우클릭-속성에서 '차단 해제'를 적용합니다.
  • 매크로가 비활성화되어 있으면 버튼을 눌러도 작동하지 않습니다


과제 1. 같은 유형의 엑셀 데이터 취합하기

(실습 파일 다운로드)

상황 설정: 영업팀 막내의 고민

영업 팀 막내가 된 상황을 상상해보세요. 매주 월요일마다 선배들이 다음 주 일정을 각자의 엑셀 파일에 정리해서 전달합니다. 막내인 당신은 이 10~20개의 엑셀 파일을 하나로 취합해서 팀장님께 보고해야 하죠.

지금까지는 어떻게 했을까요?

  • 파일을 하나씩 열어서 내용을 확인
  • 복사하고 새 파일에 붙여넣기를 반복
  • 실수로 빼먹은 파일이 있는지 다시 한 번 확인
  • 한 시간은 족히 걸리는 단순 반복 작업...

이제 VBA 코드 한 번 실행으로 이 모든 작업을 3초 만에 끝내보겠습니다!

ChatGPT로 VBA 코드 생성하기

먼저 ChatGPT에게 우리가 원하는 기능을 구체적으로 설명해보겠습니다.

ChatGPT 프롬프트

# 목표
이미지와 같은 포맷의 엑셀 파일을 종합하는 VBA 코드를 작성해주세요.
- 같은 폴더에 있는 엑셀 데이터를 취합하여 코드를 실행한 Sheet1에 정리할 것
- 열 이름을 기준으로 파일을 종합할 것
- 데이터를 종합한 후 "영업일지 취합_{오늘 날짜}" 이름을 가진 엑셀 파일로 저장할 것
- 종합이 완료된 후 완료 메시지를 출력할 것

ChatGPT가 위 프롬프트를 받으면 폴더 내 모든 엑셀 파일을 자동으로 취합하는 VBA 코드를 생성해줍니다. 코드 생성은 추론 모델(현재는 ChatGPT-o3) 사용을 권장드리지만, 오늘 준비한 과제는 ChatGPT-4o 기준으로 완성한 프롬프트를 활용했습니다.

매크로 파일 설정하기

이제 생성된 코드를 실제로 사용할 수 있도록 설정해보겠습니다.

새 매크로 파일 만들기

  • 새로운 엑셀 파일을 생성합니다
  • '개발 도구' → 'Visual Basic'으로 VBA 에디터를 엽니다
  • '삽입' → '모듈'로 새 모듈을 추가합니다
  • 위에서 생성한 VBA 코드를 붙여넣습니다

파일 저장하기

  • '다른 이름으로 저장하기' 클릭
    • 파일 형식을 '매크로 사용 통합 문서(.xlsm)'로 선택합니다
  • "데이터취합매크로.xlsm" 같은 이름으로 저장합니다

실제 사용해보기

이제 실제로 우리의 자동화 도구를 사용해보겠습니다.

폴더 준비하기

  • 취합할 엑셀 파일들이 있는 폴더를 확인합니다
  • 해당 폴더에 우리가 만든 매크로 파일을 복사합니다
  • 중요: 이 폴더에는 취합할 파일들과 매크로 파일만 있어야 합니다

매크로 실행하기

  • 매크로 파일을 엽니다
    • 보안 경고가 나타나면 '콘텐츠 사용'을 클릭합니다
  • 매크로 목록을 열고, 매크로를 실행합니다.
  • 몇 초 후 "데이터 취합이 완료되었습니다!" 메시지가 나타납니다

결과 확인하기

  • 같은 폴더에 "영업일지 취합_20250708.xlsx" 과 같은 파일이 생성됩니다
  • 파일을 열어보면 모든 엑셀 파일의 데이터가 하나로 합쳐져 있습니다
  • 매크로 파일은 그대로 남아있어 다음에도 사용할 수 있습니다

활용 팁

재사용하기

  • 매번 새로운 데이터를 취합할 때마다 매크로 파일만 해당 폴더로 복사하면 됩니다
  • 버튼 한 번으로 몇십 개의 파일도 순식간에 처리할 수 있습니다

주의사항

  • 취합할 파일들의 데이터 구조(열 순서, 헤더명)가 동일해야 합니다
  • 폴더에 다른 엑셀 파일이 있으면 함께 취합되니 주의하세요
  • 기존에 "통합_데이터.xlsx" 파일이 있다면 덮어쓰기 됩니다

이제 영업팀 막내의 고민이 해결되었습니다! 몇 분 걸리던 작업이 단 몇 초로 단축되었죠. 다음 과제에서는 더욱 고급 기능을 다뤄보겠습니다.


과제 2. 피봇 테이블 / 피봇 차트 생성

(실습 파일 다운로드 / 약 30만행의 데이터라 다운로드 속도가 느릴 수 있음)

실습 데이터 소개

이번 과제에서는 이커머스 플랫폼의 판매 데이터를 활용해보겠습니다. 이 데이터는 데이터 분석가들이 자주 이용하는 플랫폼인 캐글(Kaggle)에서 가져온 데이터셋입니다. 실습하기 편하도록 필요한 전처리 작업을 미리 완료해두었어요.

매번 업데이트되는 판매 데이터를 손으로 일일이 분석하기란 쉽지 않죠. 하지만 VBA를 활용하면 버튼 하나로 피봇 테이블과 차트를 자동 생성할 수 있습니다. 데이터가 변경되어도 같은 방식으로 분석이 가능하니 정말 유용한 도구가 될 거예요.

💡
주의사항
- 요청사항이 길어지는 경우 ChatGPT가 종종 오류를 포함한 코드를 생성하기도 합니다. 콘텐츠 후반의 'VBA 코드 오류시 해결 방안'을 참고해주세요.
- 각 단계마다 코드를 검증하며, 하나씩 완성해나가시는 것을 권장드립니다.
(코드를 검증/보완하는 영역에선 체감상 ChatGPT보단 Claude 혹은 Gemini 성능이 좋은 것 같습니다)

ChatGPT로 피봇 테이블 생성 코드 만들기

먼저 피봇 테이블을 생성하는 VBA 코드를 ChatGPT에게 요청해보겠습니다.

첫 번째 프롬프트 (피봇 테이블 생성)

아래 조건에 맞춰서 피봇 테이블을 생성하는 VBA 코드를 작성해주세요. 
- 가장 먼저 'data' 시트의 데이터셋을 '표' 포맷으로 전환합니다.
- 열 구성 : InvoiceNo, StockCode, Description, Quantity, InvoiceDate, UnitPrice, CustomerID, Country (A열부터 InvoiceNo )
    - InvoiceDate의 값은 '2010-12-01'의 '날짜 포맷이며, '일반' 서식으로 바꿨을 때 출력되는 원본 값은 '40513' 입니다. 이를 'YYYY-MM' 형태의 '텍스트' 포맷으로 바꿔서 'YearMonth' I열에 정리합니다.
- SalesAmount을 J열에 추가합니다(UnitPrice*Quantity)
- 'data' 시트의 데이터를 기반으로 'pivot_table' 시트를 생성하여 이곳에 결과를 출력합니다.
- 피봇1 : 월별 판매량(Quantity), 판매액(SalesAmount)
- 피봇2 : 국가별 판매량, 판매액 (이전 결과물에서 오른쪽으로 두 열을 이동한 곳에 출력)
- 사용자가 설정한 언어에 관계없이 동작하도록 설정
- 10만행 이상의 데이터를 처리하는 데에 무리가 없어야 함

# Steps
1. 코드를 작성할 때 주의할 사항을 채팅창에 먼저 정리할 것
2. 주의사항을 토대로 코드를 생성하고, 마지막에 이를 검증할 것

ChatGPT가 생성한 코드를 첫 번째 모듈에 붙여넣습니다.

피봇 차트 생성 코드 추가하기

이제 같은 대화에서 이어서 피봇 차트 생성 코드를 요청합니다. 이렇게 연속으로 요청하는 것이 중요한 이유는 ChatGPT가 앞서 생성한 코드와 일관성을 유지하며 작업할 수 있기 때문입니다.

두 번째 프롬프트 (피봇 차트 생성)

아래 조건에 맞춰서 피봇 차트를 생성하는 VBA 코드를 작성해주세요. 
- 앞서 작성한 피봇 테이블의 값을 기반으로 'pivot_chart' 시트를 생성하여 이곳에 결과물을 출력합니다.
- 두 결과물은 가로 450px, 세로 350px로 설정하고 가로 방향으로 겹치지 않게 출력합니다. 

생성된 코드를 두 번째 모듈에 붙여넣습니다.

실행 결과 확인하기

이제 우리가 만든 자동화 도구를 실행해보겠습니다. 매크로 창에서 각 함수를 한 단계씩 실행합니다.

실행 과정

  • 피벗 테이블 매크로 실행 -> 피벗 차트 매크로 실행
  • 몇 초 후 완료 메시지가 나타납니다
  • 엑셀 하단의 시트 탭을 확인해보세요

생성된 결과물

  • "피봇테이블" 시트: 카테고리별 매출 합계가 정리된 피봇 테이블
  • "피봇차트" 시트: 피봇 테이블을 시각화한 막대 차트

이렇게 한 번 피벗 테이블/차트를 생성해두면 원본 데이터셋의 값이 달라져도 '데이터 - 모두 새로 고침'만 클릭하면 결과물을 업데이트 할 수 있습니다.

조금 센스가 있는 분이라면 원본 데이터셋이 업데이트 될 때마다 자동으로 결과물이 업데이트 되도록 설정해보는 것도 좋겠네요!

추가 개선 아이디어

  • 여러 종류의 차트를 한번에 생성하도록 확장
  • 특정 기간만 필터링해서 분석하는 기능 추가
  • 분석 결과를 이메일로 자동 발송하는 기능 연결

이제 복잡한 데이터 분석 작업도 버튼 하나로 해결할 수 있게 되었습니다. 다음 과제에서는 이런 기능들을 종합해서 대시보드를 만들어보겠습니다!


과제 3. 간단한 대시보드 생성하기

(실습 파일 다운로드)

종합 프로젝트: 나만의 대시보드 만들기

이제 마지막 과제입니다! 앞서 배운 파일 취합과 피봇 분석 기능들을 모두 종합해서 간단한 대시보드를 만들어보겠습니다. 단순히 데이터를 분석하는 것을 넘어서, 한눈에 보기 좋게 정리된 시각적 보고서를 자동으로 생성하는 것이 목표예요.

실습 데이터: 은행 마케팅 캠페인 결과

이번에는 캐글에서 가져온 은행 마케팅 결과 데이터셋을 사용하겠습니다. 실제 은행에서 고객들에게 정기예금 상품을 마케팅한 결과를 담고 있는 데이터로, 실습하기 편하도록 필요한 부분만 정리해두었습니다.

1단계: 대시보드 템플릿 생성하기

먼저 대시보드의 기본 틀을 만드는 코드를 ChatGPT에게 요청해보겠습니다.

대시보드 템플릿 생성 프롬프트

# 목표

다음을 반영하여 엑셀 대시보드 시트를 만드는 VBA 코드를 작성해주세요.
- 'Charts'라는 시트를 생성할 것
- 시트의 채우기 기능을 활용하여 대시보드 영역을 흰색으로 채울 것
- 시트 최상단에 검정색 타이틀 바(width 1000px, height 40px)를 길게 추가하고 제목으로 '은행 마케팅 데이터 분석 대시보드' 텍스트를 채울 것(16pt, 굵게)
- 타이틀 바 아래에 밝은 회색 직사각형 가로로 2개 생성할 것 (타이틀 바와 길이를 맞출 것)(각 직사각형은 width 480px, height 250px)
- 그 아래에 같은 크기의 직사각형을 두 개 생성할 것
- 각 사각형의 이름은 'Chart1', 'Chart2', ...로 명명할 것

이 코드를 실행하면 깔끔한 대시보드 기본 틀이 만들어집니다.

2단계: 분석 전략 수립하기

대시보드에 어떤 내용을 담을지 ChatGPT와 함께 전략을 세워보겠습니다. 이 과정에서 데이터의 특성을 이해하고 가장 의미있는 분석을 선택할 수 있어요.

분석 제안 요청 프롬프트

# 목표

이 데이터셋은 은행의 마케팅 캠페인 결과를 기반으로 구성되어 있으며, 핵심 목표는 정기예금(Deposit) 에 가입할 가능성이 있는 고객을 예측하는 것입니다.

'# 데이터 구조'를 참고하여 이 데이터를 읽고, 이 데이터를 잘 설명할 수 있는 피벗 테이블과 이를 표현하는 차트를 8set 제안해주세요.
- 제안하는 이유, 피벗 테이블의 각 열 정의, 차트의 유형 등을 상세히 제안할 것


# 데이터 구조

## 은행 고객 정보
- age: 나이  
- job: 직업 (예: admin., technician, services 등)  
- marital: 결혼 상태 (예: married, single, divorced)  
- education: 교육 수준 (예: primary, secondary, tertiary)  
- default: 신용불량 여부 (yes 또는 no)  
- balance: 계좌 잔고 (정수형, 유로화 기준)  
- housing: 주택 담보 대출 여부 (yes 또는 no)  
- loan: 개인 대출 여부 (yes 또는 no)  

## 최근 마케팅 캠페인 정보
- contact: 고객과 연락한 방식 (예: cellular, telephone, unknown)  
- duration: 마지막 통화의 지속 시간 (초 단위)  

## 기타 속성
- campaign: 현재 마케팅 캠페인 중 고객에게 연락한 횟수  
- previous: 과거 캠페인에서의 연락 횟수  
- poutcome: 과거 마케팅 캠페인의 결과 (예: success, failure, unknown)  

## 목표 변수 (Target)
- deposit: 고객이 정기예금에 가입했는지 여부 (yes 또는 no)

3단계: 피벗 테이블 생성하기

ChatGPT가 제안하는 분석 방향을 검토한 후, 다른 과제를 진행해볼 수도 있습니다. 오늘 실습에서는 미리 정리해둔 내용으로 진행하겠습니다. 이제 실제 분석을 위한 피벗 테이블들을 만들어보겠습니다.

피벗 테이블 생성 프롬프트

# 목표

'# 피벗 테이블 기획'의 피벗 테이블을 만드는 VBA 코드를 생성해주세요.
- 'bank' 시트에 위치한 표를 기준으로 실행할 것
- 하나의 시트를 새로 생성하여 결과물을 위치시킬 것
- 피벗 테이블을 생성한 후, 다음 피벗 테이블은 이전 피벗 테이블의 오른쪽에서 2칸 떨어진 곳에 생성할 것
- 피벗 캐시를 생성할 땐, 테이블을 참조하므로 relativeTo 속성은 비워둬서 오류가 발생하지 않도록 주의
- 피벗 차트 코드는 결과물에서 제외할 것

# 피벗 테이블 기획
제안 1: 직업별 정기예금 가입률 분석  
- 목적: 직업군별 가입률 비교를 통해 타겟 마케팅 전략 수립  
- 피벗 테이블:  
  - 행: job  
  - 열: deposit (yes/no)  
  - 값: 고객 수 (count)  
- 차트: 세로 막대그래프 (Bar chart)  

제안 2: 나이대별 정기예금 가입률  
- 목적: 나이 그룹별 가입 패턴 분석으로 마케팅 타겟층 도출  
- 피벗 테이블:  
  - 행: age (10살 단위 binning: 20대, 30대 등)  
  - 열: deposit (가입률 %)  
- 차트: 꺾은선 그래프 (Line chart)  

제안 3: 교육 수준과 가입 여부의 관계  
- 목적: 교육 수준별 금융상품 반응 차이 분석  
- 피벗 테이블:  
  - 행: education  
  - 열: deposit (가입률 %)  
- 차트: 수평 막대그래프 (Horizontal bar chart)  

제안 4: 마지막 통화 시간에 따른 가입률  
- 목적: 통화 시간과 가입률 간의 상관관계 분석  
- 피벗 테이블:  
  - 행: duration (구간별 binning: 0–100s, 101–200s 등)  
  - 열: deposit  
  - 값: 가입률 또는 가입 고객 수  
- 차트: 히스토그램 (Histogram)

# 절차
1. 각 피벗 테이블을 만들 때 주의할 사항을 채팅창에 먼저 정리할 것
2. 주의사항을 토대로 코드를 생성하고, 마지막에 이를 검증할 것

이 코드를 실행하면 필요한 모든 분석 테이블이 자동으로 생성됩니다.

4단계: 대시보드에 차트 배치하기

마지막으로 생성된 피벗 테이블들을 기반으로 차트를 만들어 대시보드에 배치해보겠습니다.

차트 생성 및 배치 프롬프트

# 목표

앞서 기획했던 대로 차트를 생성하는 vba 코드를 작성해줘.
- 'Charts' 시트에 있는 'Chart1', 'Chart2' ... 도형에 위치시킬 것
- 적절한 차트 이름을 설정할 것

결과 확인

각 단계 별로 코드를 생성하고 실행하였다면, 결과물을 다음과 같은 형태로 받아볼 수 있습니다.


참고. VBA 코드 오류시 해결 방안

VBA 코드를 실행하다 보면 때때로 오류가 발생할 수 있습니다. 하지만 걱정하지 마세요. 대부분의 문제는 간단한 방법으로 해결할 수 있습니다.

1단계: 프롬프트 재실행

가장 간단한 방법은 프롬프트를 다시 실행해보는 것입니다. 아무리 잘 짜여진 프롬프트라도 결과물에 종종 오류가 발생할 수 있어요. ChatGPT는 매번 조금씩 다른 결과를 생성하기 때문에 다시 시도해보면 정상적인 코드를 받을 수 있는 경우가 많습니다.

2단계: 단계별 디버깅

프롬프트 재실행으로도 해결되지 않는다면 좀 더 체계적으로 접근해보겠습니다.

디버깅 과정

  • VBA 에디터에서 F8을 누르면 코드를 한 단계씩 실행해볼 수 있습니다
  • 이렇게 오류가 발생한 정확한 부분을 찾아냅니다
  • 오류가 난 부분과 오류 메시지를 이미지로 캡처합니다
  • ChatGPT에게 상황을 구체적으로 설명하고 개선을 요청합니다

ChatGPT에게 전달할 정보

  • 어떤 단계에서 오류가 발생했는지
  • 정확한 오류 메시지 내용
  • 오류가 발생한 코드 라인

대부분의 경우 이 정도 정보만 제공해도 ChatGPT가 정확한 해결책을 제시해줍니다.

3단계: 요구사항 조정

만약 위의 방법들로도 해결이 안 된다면 다음 두 가지 가능성을 고려해보세요

  • 구현이 어려운 작업일 가능성
  • 한 번에 너무 많은 요청사항이 있을 가능성

이런 경우에는 작업 단계나 결과물의 형식을 적당히 타협하는 것도 좋은 방법입니다. 완벽한 결과보다는 80% 정도의 만족스러운 결과를 먼저 얻고, 나중에 점진적으로 개선해나가는 것이 현실적이에요.

고급 활용법: ChatGPT와 함께 학습하기

조금 더 욕심이 있는 분이라면 코드의 각 단계를 ChatGPT가 리뷰하도록 하고, 작업 과정을 스터디하면서 오류를 잡아가는 것을 추천합니다.

간단한 코딩 경험이라도 있으신 분이라면 각 단계의 의미를 이해하는 것만으로도 ChatGPT에게 훨씬 정확한 피드백을 줄 수 있습니다. 이렇게 하면 오류 해결 속도도 빨라지고, 점점 더 복잡한 자동화도 구현할 수 있게 됩니다.


마무리

오늘은 ChatGPT로 VBA 코드를 작성하고, 이를 기반으로 엑셀 매크로를 생성하는 방법과 여러 사례를 알아보았습니다.

핵심 포인트

생성형 AI의 시대에서는 코드 한 줄 한 줄을 직접 작성할 필요가 없습니다. 중요한 것은 사람으로서 달성하고자 하는 목표를 구체적으로 정의하고, 필요한 경우 작업 과정을 자연어로 잘 설명하는 능력입니다.

오늘 배운 것들

  • 반복적인 파일 취합 작업 자동화
  • 데이터 분석을 위한 피봇 테이블/차트 자동 생성
  • 시각적으로 완성된 대시보드 제작
  • 오류 발생 시 해결 방법

이제 여러분도 매일 반복되는 엑셀 작업에서 벗어나 더 가치있는 업무에 집중할 수 있게 되었습니다.

앞으로의 여정

AI Ground에서는 앞으로도 실무 활용 과제와 AI 트렌드 등을 계속해서 다룰 예정입니다. 오늘 배운 내용을 바탕으로 여러분만의 창조적인 자동화 아이디어를 발전시켜보시기 바랍니다.

많은 관심과 참여 부탁드립니다!


AI Ground 교육이 제공하는 차별화된 학습 경험

AI Ground 교육 프로그램은 기업 실무에서 생성형 AI 기술을 효과적으로 활용할 수 있는 역량을 기르는 것을 목표로 하고 있습니다. 이론 교육과 함께 실습 위주의 체험식 학습을 강조하는 것이 교육 철학입니다.

  • 다양한 생성형 AI 도구를 직접 활용해볼 수 있는 실습 기회 제공
  • 기업에서 실제로 마주칠 수 있는 문제 상황을 가정한 프로젝트 수행
  • 유료 ChatGPT 계정 대여를 통한 데이터 처리/분석/시각화, 웹 검색, 파일 학습 등 고급 기능 활용 실습

AI 실무 적용, 어렵지 않아요!

생생한 사례와 전문가의 노하우가 가득한
AI Ground 뉴스레터에서 디지털 전환의 시대를 미리 준비하세요.
지금 바로 구독하고 AI 활용의 노하우를 만나보세요!