엑셀VBA로 반복 업무 자동화하는 방법, 초보자는 이렇게 시작하면 편합니다

Last Updated :
엑셀VBA로 반복 업무 자동화하는 방법, 초보자는 이렇게 시작하면 편합니다

얼마 전 거래처별 매출 파일 28개를 하나씩 열어 같은 열 너비를 맞추고, 제목 행 색을 넣고, PDF로 저장하는 일을 맡은 적이 있습니다. 처음에는 그냥 손으로 하면 30분이면 되겠지 싶었는데, 파일명이 조금씩 다르고 시트 구조도 묘하게 달라서 결국 한 시간 넘게 붙잡고 있었습니다. 이런 순간에 엑셀VBA가 꽤 든든합니다. 대단한 프로그램을 만드는 느낌보다, 반복 클릭을 엑셀 안에 작은 버튼으로 맡기는 쪽에 가깝습니다.

엑셀VBA는 언제 쓰면 좋은가

엑셀VBA는 엑셀 안에서 반복 작업을 자동으로 처리하게 만드는 기능입니다. VBA는 Visual Basic for Applications의 줄임말이고, 엑셀 기본 기능에 포함되어 있습니다. 별도 유료 프로그램을 깔지 않아도 되는 점이 가장 큰 장점입니다.

다만 모든 일을 VBA로 처리할 필요는 없습니다. 필터 한 번, 피벗테이블 한 번으로 끝나는 작업이라면 기본 기능이 더 빠릅니다. VBA가 힘을 발휘하는 건 같은 순서를 여러 번 반복할 때입니다. 예를 들면 매일 내려받는 파일에서 불필요한 행을 지우고, 날짜 형식을 바꾸고, 특정 폴더에 저장하는 일처럼요.

  • 같은 서식을 여러 파일에 반복 적용할 때
  • 시트 이름, 파일명, 날짜를 규칙대로 바꿔야 할 때
  • 버튼 하나로 인쇄 영역이나 PDF 저장을 처리하고 싶을 때
  • 복사, 붙여넣기, 필터링이 매번 같은 순서로 이어질 때

솔직히 처음부터 긴 코드를 짜려고 하면 금방 지칩니다. 초보자는 먼저 손으로 하는 작업을 5단계 안팎으로 쪼갠 뒤, 그중 가장 귀찮은 한 단계만 자동화하는 방식이 편합니다.

처음 설정은 개발 도구 탭부터 켜면 됩니다

엑셀VBA를 쓰려면 먼저 개발 도구 탭을 켜야 합니다. 엑셀 상단 메뉴에서 파일, 옵션, 리본 사용자 지정으로 들어간 뒤 개발 도구에 체크하면 됩니다. 한 번만 켜두면 다음부터는 계속 보입니다.

그다음 파일 형식도 중요합니다. 일반 엑셀 파일인 xlsx는 매크로가 저장되지 않습니다. VBA를 넣은 파일은 xlsm 형식으로 저장해야 합니다. 작업을 다 해놓고 xlsx로 저장하면 코드가 빠질 수 있어서, 처음 저장할 때부터 매크로 사용 통합 문서로 고르는 편이 안전합니다.

초보자가 자주 막히는 지점

  • 보안 경고가 뜨면 콘텐츠 사용을 눌러야 매크로가 실행됩니다.
  • 회사 보안 정책에 따라 인터넷에서 받은 매크로 파일은 차단될 수 있습니다.
  • 파일 확장자가 xlsx이면 VBA 코드가 저장되지 않습니다.
  • Alt와 F11을 누르면 VBA 편집기 창이 열립니다.

처음에는 보안 경고 때문에 당황하기 쉽습니다. VBA는 파일을 저장하거나 삭제하는 동작도 할 수 있으니 엑셀이 조심스럽게 막아두는 겁니다. 모르는 사람이 보낸 매크로 파일은 바로 실행하지 않는 게 좋고, 내가 만든 파일이나 신뢰할 수 있는 사내 양식부터 연습하는 편이 낫습니다.

녹화 기능으로 먼저 만들고 필요한 부분만 고치기

엑셀VBA를 처음 배우는 가장 쉬운 길은 매크로 기록입니다. 개발 도구 탭에서 매크로 기록을 누른 뒤, 평소 하던 작업을 그대로 진행하면 엑셀이 그 과정을 VBA 코드로 남깁니다. 완벽한 코드는 아니지만 시작점으로는 충분합니다.

예를 들어 매일 받는 판매현황 파일에서 A열부터 F열까지 너비를 맞추고, 1행을 굵게 만들고, 자동 필터를 거는 작업이 있다고 해보겠습니다. 이 과정을 매크로로 기록한 뒤 저장하면 다음부터는 실행 버튼 한 번으로 같은 서식이 적용됩니다. 파일이 1개면 체감이 작지만 20개, 30개가 되면 차이가 큽니다.

기록 후 꼭 확인할 부분

  • 특정 셀 주소가 너무 고정되어 있지 않은지 봅니다.
  • 불필요하게 화면 이동만 기록된 줄은 지워도 됩니다.
  • 파일 저장 경로가 내 컴퓨터 기준으로 박혀 있는지 확인합니다.
  • 다른 사람과 공유할 파일이면 폴더 경로를 상대적으로 바꾸는 게 편합니다.

매크로 기록으로 만든 코드는 가끔 너무 길게 나옵니다. 셀을 클릭하고 스크롤한 흔적까지 남기기 때문입니다. 그래도 겁낼 필요는 없습니다. 자동화의 첫 목적은 예쁜 코드가 아니라 내 반복 시간을 줄이는 것이니까요. 익숙해진 뒤에 조금씩 다듬으면 됩니다.

바로 써먹기 좋은 엑셀VBA 예시

가장 많이 쓰는 자동화는 서식 통일입니다. 아래처럼 생각하면 됩니다. 1행은 제목이니 굵게 만들고, 전체 열 너비는 자동 맞춤으로 바꾸고, 첫 행에 필터를 적용합니다. VBA 편집기에서 삽입, 모듈을 누른 뒤 이런 식의 코드를 넣으면 됩니다.

Sub FormatSheet()
Rows(1).Font.Bold = True
Columns.AutoFit
Range("A1").CurrentRegion.AutoFilter
End Sub

이 정도만 알아도 문서 양식 작업이 꽤 줄어듭니다. 특히 여러 사람이 작성한 엑셀 파일을 취합할 때 제목 행 굵기, 열 너비, 필터 상태가 제각각이면 보기 싫은데, 버튼 하나로 기본 모양을 맞출 수 있습니다.

파일명 바꾸기도 자주 쓰입니다. 예를 들어 보고서 파일을 저장할 때 오늘 날짜와 담당자명을 붙이는 식입니다. 손으로 입력하면 오타가 나고, 날짜 형식도 사람마다 달라집니다. VBA로 규칙을 정해두면 파일명이 훨씬 일정해집니다.

  • 보고서_20260916_김민수.xlsm
  • 견적서_업체명_20260916.xlsx
  • 매출현황_서울지점_202609.xlsx

근데 여기서 욕심내면 복잡해집니다. 처음부터 폴더 전체 파일을 순회하고, 오류 로그를 만들고, PDF까지 한 번에 저장하려고 하면 막힐 확률이 큽니다. 먼저 현재 열려 있는 파일 하나에서 잘 되는지 확인하고, 그다음 여러 파일 처리로 넓히는 흐름이 편합니다.

엑셀VBA를 안전하게 쓰는 습관

VBA는 편하지만 실수도 빠르게 반복합니다. 잘못 만든 코드가 행을 삭제하면 한 파일이 아니라 여러 파일에서 동시에 문제가 생길 수 있습니다. 그래서 자동화 전에 원본 복사본을 만들어 두는 습관이 필요합니다. 파일명 뒤에 backup이나 원본 같은 표시를 붙여 두면 나중에 마음이 편합니다.

또 하나는 실행 범위를 좁히는 겁니다. 전체 시트를 대상으로 하는 코드보다 실제 데이터 범위를 잡는 코드가 안전합니다. 예를 들어 현재 사용 중인 표 영역만 대상으로 필터를 적용하거나, 특정 시트 이름이 맞을 때만 실행되게 만들면 실수가 줄어듭니다.

  • 처음 테스트는 복사본 파일에서 실행합니다.
  • 삭제 코드보다 숨기기 코드로 먼저 검증합니다.
  • 매크로 실행 전 저장을 한 번 해둡니다.
  • 공유 파일에는 코드 설명을 짧게 남깁니다.

엑셀VBA는 처음 배우면 낯설지만, 사실 목적은 단순합니다. 매번 손으로 누르던 버튼을 엑셀에게 기억시켜 두는 겁니다. 서식 맞추기 하나만 자동화해도 매일 5분씩 아낄 수 있고, 한 달이면 꽤 큰 시간이 됩니다. 저는 복잡한 기술을 배운다는 느낌보다, 내 작업 책상에 작은 자동 버튼을 하나씩 붙인다는 느낌으로 접근할 때 오래 가더라고요.

엑셀VBA로 반복 업무 자동화하는 방법, 초보자는 이렇게 시작하면 편합니다 - 요약
엑셀VBA로 반복 업무 자동화하는 방법, 초보자는 이렇게 시작하면 편합니다 | 파일나라 : https://filenara.com/12771
파일나라 © filenara.com All rights reserved. powered by modoo.io