엑셀 매크로(VBA) Excel Macro / VBA
홈 › 용어 사전 · 안녕소프트 최재원 · 2026. 9. 22. 작성
엑셀 매크로(VBA) — 엑셀 안에서 반복되는 작업을 VBA 코드로 기록해 두고 버튼 하나로 다시 실행하게 만드는 기능입니다. 월말마다 같은 시트를 복사하고, 같은 수식을 채우고, 같은 형식으로 정리하는 일이 있다면 매크로가 첫 번째 답입니다. 별도 프로그램 없이 엑셀만으로 되기 때문에 현장에서 가장 많이 쓰이는 자동화 수단입니다. 다만 사람이 늘고 파일이 늘면 관리가 되지 않는 지점이 옵니다.
엑셀 매크로가 하는 일
엑셀 매크로는 사람이 엑셀에서 하는 동작을 VBA라는 언어의 코드로 저장한 것입니다. 매크로 기록 기능을 켜고 평소처럼 작업하면 그 동작이 코드로 남고, 이후에는 단축키나 버튼으로 같은 동작을 되풀이합니다. 기록만으로 부족하면 코드를 직접 고쳐 조건과 반복을 넣습니다.
현장에서 매크로가 맡는 일은 대체로 이런 것들입니다.
- 여러 시트나 파일의 자료를 한 시트로 모으기
- 정해진 규칙으로 정렬·필터·서식 적용
- 월별·거래처별 보고서 시트를 자동 생성
- 입력값을 검사해 빠진 항목이나 잘못된 값을 표시
- 완성된 시트를 PDF로 저장하거나 메일 초안 만들기
가장 큰 장점은 이미 있는 엑셀 안에서 바로 시작할 수 있다는 점입니다. 새 프로그램을 설치하거나 담당 부서에 요청할 필요가 없고, 현업 담당자가 직접 만드는 경우도 많습니다. 하루 한 시간 걸리던 정리가 몇 초로 줄어드는 효과를 가장 빨리 보는 수단입니다.
할 수 있는 일과 한계
매크로는 엑셀 안에서는 거의 모든 것을 할 수 있습니다. 시트와 셀을 다루고, 조건에 따라 분기하고, 파일을 열고 닫고, 다른 오피스 프로그램과 연결하는 일까지 가능합니다. 한 사람이 한 파일로 처리하는 업무라면 대부분 매크로로 풀립니다.
한계는 엑셀 밖으로 나갈 때 드러납니다.
- 여러 사람이 동시에 같은 파일을 쓰면 충돌하거나 덮어씁니다. 매크로는 파일 하나를 전제로 합니다
- 웹사이트나 다른 시스템에서 자료를 가져오는 일은 가능은 하지만 불안정하고 만들기 어렵습니다
- 누가 언제 무엇을 바꿨는지 기록이 남지 않습니다. 실수를 되돌리기 어렵습니다
- 파일이 커지면 느려지고, 수십만 행이 넘으면 엑셀 자체가 버거워집니다
- 사용 권한을 나눌 수 없습니다. 파일을 열 수 있으면 매크로도, 원본 데이터도 모두 손댈 수 있습니다
- 정해진 시간에 사람 없이 자동 실행하는 것이 까다롭습니다
정리하면, 매크로는 개인의 반복 작업을 줄이는 데 강하고, 여러 사람이 함께 쓰는 업무 시스템이 되기에는 구조적으로 부족합니다. 이 경계를 알고 쓰면 매크로는 오래 유용하고, 모르고 쓰면 어느 순간 회사 업무가 파일 하나에 매달리게 됩니다.
만든 사람이 떠나면 생기는 문제
매크로의 가장 큰 위험은 기술이 아니라 사람에게 있습니다. 매크로는 대개 현업 담당자 한 명이 필요에 따라 만들고, 설명서 없이 머릿속에만 구조가 있습니다. 그 사람이 부서를 옮기거나 퇴사하면 다음과 같은 일이 생깁니다.
- 버튼을 누르면 뭔가 되긴 하는데 정확히 무엇을 하는지 아무도 모릅니다
- 오류가 나면 고칠 사람이 없어 손으로 되돌아갑니다
- 거래처나 양식이 바뀌어도 매크로를 못 고쳐 옛 방식대로 억지로 맞춥니다
- 여러 버전의 파일이 돌아다녀 어느 것이 최신인지 모릅니다
- 매크로 안에 다른 파일 경로나 계정 정보가 박혀 있어 환경이 바뀌면 통째로 멈춥니다
이런 파일을 흔히 블랙박스 엑셀이라고 부릅니다. 회사 업무의 일부가 특정 개인의 기억에 의존하는 상태입니다. 예방책은 간단하지만 잘 지켜지지 않습니다. 매크로가 하는 일을 한 장으로 적어 두고, 코드 안에 짧은 설명을 남기고, 원본 파일을 한곳에서만 관리하는 것입니다. 이 최소한의 정리조차 어렵다면 그 매크로는 이미 개인 도구가 아니라 회사 시스템이 되어 있다는 뜻이고, 다음 항목을 검토할 때입니다.
프로그램으로 넘어갈 시점
매크로를 프로그램으로 바꾸는 것은 매크로가 나빠서가 아니라 업무가 매크로의 전제를 넘어섰기 때문입니다. 다음 신호가 두 개 이상 보이면 검토할 시점입니다.
- 같은 파일을 두 명 이상이 번갈아 수정하고, 누가 마지막으로 바꿨는지 묻는 일이 생긴다
- 매크로 파일이 여러 개로 늘어나 서로 참조하고, 하나를 고치면 다른 것이 깨진다
- 외부 사이트나 다른 시스템에서 자료를 가져오는 부분이 자주 멈춘다
- 실행 결과를 상사나 다른 부서가 봐야 하는데 파일을 메일로 돌리고 있다
- 만든 사람 외에는 아무도 손대지 못한다
- 데이터가 늘어 파일 여는 데만 몇 분이 걸린다
넘어가는 방향은 업무 성격에 따라 갈립니다. 여러 프로그램을 오가는 반복 작업이 문제라면 RPA가 맞습니다. 여러 사람이 함께 입력하고 조회하며 이력이 남아야 한다면 웹 기반 업무 프로그램이나 ERP가 맞습니다. 이때 매크로는 버리는 것이 아닙니다. 매크로 안에 담긴 업무 규칙은 그대로 새 프로그램의 요구사항이 되므로, 매크로가 하는 일을 정리한 문서가 곧 개발 의뢰서의 절반입니다.
| 구분 | 엑셀 매크로(VBA) | 업무 프로그램(웹·ERP) |
|---|---|---|
| 사용 인원 | 한 명 또는 소수 | 여러 명이 동시에 |
| 변경 이력 | 남지 않음 | 누가 언제 무엇을 바꿨는지 기록 |
| 권한 관리 | 파일을 열면 전부 접근 | 사용자·역할별로 제한 |
| 외부 연동 | 가능하지만 불안정 | API·파일 연동으로 안정적 |
| 자동 실행 | 사람이 실행하는 것이 기본 | 예약 실행, 실패 알림 |
| 시작 비용 | 거의 없음 | 개발 비용과 기간 필요 |
엑셀 매크로(VBA) 자주 묻는 질문
매크로 파일을 받았는데 보안 경고가 뜹니다. 실행해도 되나요?
출처를 아는 파일이면 실행해도 되지만, 출처가 불분명한 매크로는 열지 않는 것이 원칙입니다. 매크로는 파일 삭제나 외부 전송도 할 수 있는 코드이기 때문입니다. 회사 안에서 쓰는 매크로는 보관 위치를 정해 두고 그곳의 파일만 신뢰하는 규칙이 필요합니다.
매크로를 프로그램으로 바꾸면 기존 엑셀은 못 쓰나요?
그렇지 않습니다. 데이터 입력과 조회는 프로그램에서 하고, 분석이나 보고서는 엑셀로 내보내 쓰는 구성이 일반적입니다. 엑셀의 자유로움은 남기고, 여러 사람이 같은 데이터를 안전하게 쓰는 부분만 프로그램으로 옮기는 것입니다.
매크로를 만들 사람이 없는데 외주로 맡길 수 있나요?
가능합니다. 다만 매크로 외주는 만든 뒤 유지보수가 어려운 구조라, 규모가 작은 반복 작업에만 권합니다. 여러 사람이 쓰거나 외부 연동이 필요하면 처음부터 프로그램으로 만드는 편이 총비용이 낮은 경우가 많습니다.
실무에서 이 개념이 어떻게 쓰이는지는 엑셀 자동화, 어디까지 가능한가 · RPA와 엑셀 매크로, 무엇이 다른가 · 무료 엑셀 업무 양식 에 정리했습니다.
엑셀 매크로(VBA), 우리 회사 업무에 어떻게 적용할지 궁금하시다면
지금 쓰시는 엑셀이나 업무 순서를 알려주시면, 어디까지 시스템으로 옮길 수 있는지 단계별로 정리해 드립니다.