엑셀 매크로 만들기, 코딩 없이 반복 작업을 자동화하는 법

“매크로는 개발자가 쓰는 것”이라는 생각, 지금 당장 버려도 된다. 엑셀 매크로 만들기는 기록기로 반복 동작을 녹화하는 것만으로 시작할 수 있다. 엑셀에는 사용자의 클릭과 입력을 VBA 코드로 자동 변환하는 ‘매크로 기록기’가 내장돼 있어, 코딩을 전혀 몰라도 실무에서 쓸 수 있는 수준의 자동화가 가능하다. 이 글은 엑셀 매크로를 처음 만들어 보는 사람이 가장 빠르게 첫 매크로를 완성하도록 돕는다.

매크로 기록기가 있는 한, 코드를 처음부터 짤 이유는 없다

매크로 기록기는 엑셀 UI에서 사용자가 실행하는 모든 동작을 VBA 코드로 변환해 저장한다. 기록 버튼을 누르고, 원하는 동작을 실행하고, 기록 중지를 누르면 끝이다. 생성된 코드는 VBA 편집기(단축키 Alt+F11)에서 확인하고 수정할 수 있다.

기록기가 커버하지 못하는 영역은 분명히 있다. 조건 분기(If~Then), 반복문(For~Next), 사용자 입력 팝업 같은 로직은 코드를 직접 작성해야 한다. 그러나 서식 일괄 적용, 데이터 정렬·필터, 특정 열 숨김·표시, 시트 간 데이터 복사처럼 ‘매일 반복하는 클릭’은 기록기만으로 충분하다. 처음 매크로를 만든다면 목표를 “반복 클릭 줄이기”로 좁혀라. 그 범위에서 기록기는 거의 만능이다.

첫 번째 매크로 만들기 — 5단계 실전 절차

1단계 — 개발 도구 탭 활성화

엑셀 기본 설치 상태에서 상단 탭에 ‘개발 도구’가 없는 경우가 많다. 파일 → 옵션 → 리본 사용자 지정 → 오른쪽 목록에서 ‘개발 도구’ 체크박스를 활성화하면 탭이 나타난다. 한 번만 설정하면 이후 계속 유지된다.

2단계 — 매크로 기록 시작

개발 도구 탭 → ‘매크로 기록’ 클릭. 다음 세 가지를 이 단계에서 설정한다.

  • 매크로 이름: 영문+숫자 조합, 공백 없이 (예: FormatReport)
  • 바로 가기 키: Ctrl+Shift+영문자 조합 권장 — Ctrl 단독 조합은 기존 엑셀 단축키와 충돌할 수 있다
  • 저장 위치: ‘이 통합 문서’는 현재 파일에만, ‘개인용 매크로 통합 문서’는 엑셀을 열 때마다 모든 파일에서 사용 가능

3단계 — 자동화할 동작 실행

기록 중에는 엑셀 하단 상태 표시줄에 네모(■) 아이콘이 표시된다. 이 상태에서 자동화하고 싶은 동작을 순서대로 실행하면 된다. 예컨대 특정 열의 글꼴을 굵게 하고 배경색을 바꾸는 작업이라면, 열 선택 → 홈 탭 → 굵게 → 배경색 순으로 실제로 클릭한다.

주의할 점이 하나 있다. 기록 중 실수한 동작도 그대로 코드에 남는다. 취소(Ctrl+Z) 역시 기록된다. 기록 전에 동작 순서를 한 번 연습해 두면 불필요한 코드가 섞이지 않는다.

4단계 — 기록 중지

개발 도구 탭 → ‘기록 중지’ 클릭. 또는 상태 표시줄의 네모 아이콘을 클릭해도 된다. 이 시점부터 매크로가 저장된 상태다.

5단계 — .xlsm으로 저장

가장 많이 실수하는 단계다. 다음 섹션에서 별도로 다룬다.

저장 포맷을 틀리면 매크로가 통째로 사라진다

엑셀의 기본 저장 포맷인 .xlsx는 보안 정책상 매크로를 저장하지 않는다. 매크로가 포함된 파일은 반드시 엑셀 매크로 사용 통합 문서(.xlsm) 형식으로 저장해야 한다. 파일 → 저장 → 파일 형식 드롭다운에서 ‘.xlsm’을 선택하면 된다.

.xlsx로 저장을 시도하면 엑셀이 “이 파일에서 VB 프로젝트를 제거하시겠습니까?”라고 경고한다. 이때 반드시 ‘아니요’를 눌러 .xlsm으로 다시 저장해야 한다. ‘예’를 누르는 순간 매크로는 삭제된다. 처음 만드는 사람이 가장 많이 겪는 허탈한 실수다.

파일 포맷 매크로 저장 여부 주요 용도
.xlsx 불가 일반 스프레드시트
.xlsm 가능 매크로 포함 표준 파일
.xlsb 가능 대용량 파일(바이너리 형식)

단축키와 실행 버튼으로 접근성을 높이는 법

매크로를 만들었다면 실행 방법을 정비해야 실제로 쓰게 된다. 실무에서 많이 쓰이는 두 가지 방식이다.

단축키 지정: 기록 시작 단계에서 설정한 바로 가기 키를 그대로 사용한다. 나중에 추가하거나 변경하려면 개발 도구 탭 → 매크로 → 해당 매크로 선택 → ‘옵션’ 버튼에서 키를 지정할 수 있다.

실행 버튼 삽입: 개발 도구 탭 → 삽입 → 양식 컨트롤 → 단추(버튼) 아이콘 선택 → 시트에 드래그해 배치 → 팝업에서 연결할 매크로 선택. 버튼을 클릭하면 매크로가 즉시 실행된다. 팀원과 파일을 공유하거나 비개발자가 사용하는 환경에서 특히 유용하다.

엑셀 작업 환경 설정에서 막히는 부분이 생기면 엑셀 틀 고정이 안 될 때 먼저 확인해야 할 것도 함께 살펴보면 도움이 된다.

처음 만드는 사람이 자주 막히는 3가지 지점

1. 파일을 열 때마다 보안 경고 배너가 뜬다
엑셀은 기본적으로 모든 매크로를 비활성화 상태로 연다. 상단에 노란색 경고 배너가 나타나면 ‘콘텐츠 사용’을 클릭해 그 세션에서 활성화하거나, 파일 → 옵션 → 보안 센터 → 신뢰할 수 있는 위치에 해당 폴더를 등록하면 이후 경고 없이 실행된다.

2. 매크로가 항상 같은 셀에서만 실행된다
매크로 기록기의 기본값은 절대 참조다. 즉, B3셀에서 기록한 동작은 항상 B3셀에만 적용된다. 현재 커서 위치를 기준으로 작동하게 하려면 기록 시작 전 개발 도구 탭에서 ‘상대 참조로 기록’ 버튼을 먼저 활성화해야 한다. 이 버튼은 토글 방식이라 클릭할 때마다 켜짐/꺼짐이 바뀐다.

3. 기록기로 할 수 없는 동작을 기대한다
매크로 기록기는 엑셀 UI 동작만 캡처한다. 외부 파일 불러오기, 이메일 자동 발송, 웹 데이터 가져오기 같은 작업은 VBA 코드를 직접 작성해야 한다. 이 경우 VBA 편집기(Alt+F11)에서 기록기가 생성한 코드에 필요한 로직을 추가하는 방식으로 단계적으로 확장하면 된다.

완성된 보고서를 외부에 배포할 때는 엑셀 PDF 변환 시 레이아웃이 깨지지 않는 인쇄 설정법도 미리 확인해 두면 좋다.

정리 — 매크로 만들기에서 놓치면 안 되는 3가지

  • 기록기로 시작한다. 코드는 나중에 필요할 때 배워도 늦지 않는다.
  • .xlsm으로 저장한다. .xlsx로 저장하면 매크로가 삭제된다. 이것 하나가 가장 흔한 실패 원인이다.
  • 상대 참조 여부를 확인한다. 셀을 이동하며 쓸 매크로라면 기록 전 반드시 ‘상대 참조로 기록’을 켜야 한다.

엑셀 매크로 만들기는 처음 한 번 완성하는 것이 관문이다. 기록기가 자동 생성한 VBA 코드를 읽어보는 것 자체가 실전 VBA 학습의 가장 빠른 출발점이 된다. 기록기로 시작해 코드를 조금씩 수정해 가는 과정에서 자연스럽게 VBA 구조가 눈에 들어온다.

자주 묻는 질문

엑셀 매크로를 만들려면 VBA 코딩을 알아야 하나요?

반드시 알 필요는 없습니다. 엑셀의 '매크로 기록' 기능이 클릭·입력 동작을 자동으로 VBA 코드로 변환해 줍니다. 서식 적용·데이터 정렬 같은 기본 반복 작업은 코딩 없이도 자동화할 수 있습니다.

매크로를 저장했는데 파일을 다시 열면 사라지는 이유는?

일반 .xlsx 파일은 보안 정책상 매크로를 저장하지 않습니다. 매크로가 포함된 파일은 반드시 '엑셀 매크로 사용 통합 문서(.xlsm)' 형식으로 저장해야 유지됩니다.

매크로 실행 시 보안 경고 배너가 매번 뜨는 이유는?

엑셀은 기본적으로 매크로를 비활성화해 악성 코드를 차단합니다. 직접 만든 파일이라면 '콘텐츠 사용'을 클릭하거나, 파일 → 옵션 → 보안 센터 → 신뢰할 수 있는 위치에 해당 폴더를 등록하면 경고 없이 실행됩니다.

매크로가 항상 같은 셀에서만 실행되고 다른 위치에서는 작동하지 않아요.

기록기는 기본적으로 절대 참조(고정 셀 주소)로 동작을 저장합니다. 현재 커서 위치 기준으로 실행하려면 기록 시작 전 개발 도구 탭에서 '상대 참조로 기록'을 먼저 활성화해야 합니다.

개발 도구 탭이 엑셀 상단에 보이지 않으면 어떻게 하나요?

파일 → 옵션 → 리본 사용자 지정으로 이동해 오른쪽 목록에서 '개발 도구' 항목에 체크하면 탭이 표시됩니다. 한 번 설정하면 이후 계속 유지됩니다.

Leave a Comment