엑셀은 직장인의 필수템이고,
타 부서와의 협업과 소통은 또한 직장인의 필수 활동인지라
우리는 엑셀 파일로 여러 명에게서 데이터를 취합하는 일이 참 많죠.
오늘은 그 작업을 GPT와 엑셀 VBA를 활용해서 자동화 해보겠습니다.
데이터 준비
하나의 폴더에 취합본 파일, 취합 대상 파일을 모아둡니다.
저기 보이는 피취합A, 피취합B, 피취합C를 열어보면
동일한 칼럼 양식에 각각 하나의 데이터를 포함하고 있습니다.
자~ 파일 준비는 끝났습니다.
우리는 저 취합.xlsx 파일에다가 엑셀 VBA를 삽입할거구요,
그 VBA가 피취합 파일들을 열어서 데이터를 복사해오고 취합 파일에 붙여넣기 할거에요.
GPT와 함께 엑셀 VBA 작성하기
지시문으로 엑셀 VBA 작성을 요청합니다.
GPT가 작성해야 할 코드를 차례대로 순서대로 CoT 느낌으로 적어줍니다.
자동화 할 작업을 차례차례 명확하게 설명해야 합니다.
코드가 복잡해질수록 더더욱 이 프롬프트가 중요합니다.
간단한 코드는 대충 말해도 잘 짜주고 정상 작동하겠지만,
코드가 복잡해지면 나의 애매모호한 프롬프트는 반드시 치명적인 코드 오류로 이어집니다.
특히 파일명, 저장 경로, 엑셀 파일 내의 데이터 위치, 붙여넣기 할 위치 등에 대한 설명은 아주 중요합니다.
파일명, 경로 같은거는 대소문자 차이, 띄워쓰기 차이로도 오류가 납니다.
잘 확인해 주세요.
실행하며 실패하며 수정하기
한번에 성공하지 못해도 괜찮습니다.
이런 오류가 얼마든지 발생할 수도 있어요.
괜찮아요.
파일은 다 준비되어 있으니 자동화에 망하면 그냥 처음부터 다시 시도해 보면 됩니다 ^^
이렇게 일단 실행해보고,
VBA 실행 결과를 최대한 명확하게 자세하게 GPT에게 설명해줘야 합니다.
그래야 GPT가 상황 파악을 잘 해서 코드를 더 빨리 더 잘 고쳐줍니다.
이렇게 오류를 설명해주고 GPT가 코드를 수정하는 과정을 반복합니다.
너무 많은 셀을 복사-붙여넣기 했나봐요.
데이터가 들어있는 열 범위를 조금 줄여줄게요.
코드 완성
이렇게 반복하다 보니 어느덧 정상 작동하는 코드까지 왔습니다.
이번에는 3차 시도만에 성공했네요.
잘 돌아갑니다.
VBA 파일 저장
VBA 코드를 포함한 파일은 <Excel 매크로 사용 통합 문서 (*.xlsm)>으로 저장해야 합니다.
그냥 .xlsx 파일로 저장하면 VBA 코드는 저장되지 않고 사라져요.
최종 코드는 이렇게 생겼습니다.
.xlsm 파일을 보관했다가 매번 취합할 때 자동으로 사용해도 되고요,
이 코드 자체를 보관했다가 매번 취합할 일 생기면 VBA 코드를 복붙해서 써도 됩니다.
오늘은 딱 3개의 파일을 취합하는 자동화를 했고요,
VBA 코드에 보시면 Array라는 이름 안에 파일명 3개가 들어가 있어요.
여기에 100개 넣으면 100개 파일 취합 자동화 되는거고, 여기에 1천개 넣으면 그것도 자동화 되는거죠.
엑셀은 직장인의 공통 직무역량이고,
같은 데이터 처리를 할 때 2시간 걸리면 하수, 1시간 걸리면 중수, 10분 걸리면 고수죠.
어차피 해야 할 일인데 그만큼 빨리 끝내버리고 다른 더 의미있는 일을 할테니까요.
VBA 코드로 1초 컷으로 처리해버린다면 초초고수겠죠?
예전에는 상상도 못 했던 레벨과 스피드인데
이제 누구나 다 할 수 있는 기본 소양이 되겠네요.
오늘도 슬기로운 AI 생활 하시고,
하시는 일이 더 편해지시기를 바랍니다.
감사합니다.