엑셀매크로로 반복 작업 줄이는 방법

얼마 전 지인이 매주 같은 엑셀 파일을 열고, 행을 지우고, 서식을 맞추고, 필터를 걸고, 다시 저장하는 일을 30분 넘게 하고 있더라고요. 옆에서 보니 손은 바쁜데 머리는 전혀 쓸 필요가 없는 작업이었습니다. 이런 반복 작업이 하루에 10분만 있어도 한 달이면 몇 시간이 훌쩍 사라집니다. 그럴 때 꽤 든든한 도구가 바로 엑셀매크로입니다.
엑셀매크로는 언제 쓰면 좋을까
엑셀매크로는 엑셀에서 반복하는 동작을 기록해 두었다가 버튼처럼 다시 실행하는 기능입니다. 셀 선택, 복사, 붙여넣기, 서식 변경, 필터 적용, 시트 이동 같은 행동을 자동으로 처리할 수 있습니다.
예를 들어 매일 내려받는 매출 파일에서 필요 없는 열 5개를 삭제하고, 날짜 형식을 바꾸고, 합계 행을 만든다고 가정해볼게요. 손으로 하면 10분 걸리는 일이지만 매크로로 만들면 10초 안에 끝나는 경우도 많습니다. 특히 작업 순서가 매번 같다면 효과가 큽니다.
- 매주 같은 보고서 양식을 만드는 일
- 데이터에서 빈 행이나 특정 열을 지우는 일
- 표 제목, 색상, 테두리 같은 서식을 반복 적용하는 일
- 여러 시트의 값을 한곳에 모으는 일
- 인쇄 영역이나 파일 저장 방식을 매번 맞추는 일
다만 매크로가 모든 일을 해결해주지는 않습니다. 데이터 구조가 매번 크게 바뀌거나, 판단이 많이 필요한 작업이라면 함수나 파워쿼리, 수작업 확인이 더 나을 때도 있습니다. 매크로는 ‘규칙이 분명한 반복 작업’에 가장 잘 맞습니다.
처음 시작은 기록 기능으로 충분하다
엑셀매크로를 처음 접하면 VBA 코드부터 떠올라서 어렵게 느껴질 수 있습니다. 그런데 초보자는 코드보다 ‘매크로 기록’ 기능으로 시작하는 편이 훨씬 편합니다. 내가 엑셀에서 하는 행동을 엑셀이 자동으로 코드로 바꿔주는 방식이라 진입 장벽이 낮습니다.
먼저 엑셀 상단 메뉴에서 개발 도구 탭을 보이게 설정합니다. 그다음 매크로 기록을 누르고, 평소 하던 작업을 천천히 진행하면 됩니다. 작업이 끝나면 기록 중지를 누르고, 이후에는 같은 매크로를 실행해서 반복할 수 있습니다.
기록할 때 실수 줄이는 요령
매크로 기록은 편하지만, 내가 실수한 클릭까지 그대로 담길 수 있습니다. 그래서 기록을 누르기 전에 파일을 복사해 두고, 어떤 순서로 작업할지 간단히 메모해두면 좋습니다. 특히 중간에 다른 셀을 괜히 눌렀거나 필요 없는 화면 이동을 했다면 코드가 지저분해질 수 있습니다.
- 원본 파일은 따로 보관하고 복사본에서 연습하기
- 작업 순서를 1번부터 5번까지 짧게 적어두기
- 범위 선택은 가능하면 표 전체처럼 명확하게 하기
- 기록 중에는 불필요한 클릭을 줄이기
- 완성 후 다른 샘플 파일에서도 실행해보기
처음부터 완벽한 매크로를 만들려 하면 금방 지칩니다. ‘제목 행에 색 넣기’, ‘열 너비 자동 맞춤’, ‘불필요한 열 삭제’처럼 작은 기능 하나부터 만들어보면 감이 빨리 옵니다.
매크로 파일 저장과 보안은 꼭 챙기기
엑셀매크로를 만들었다면 저장 형식부터 확인해야 합니다. 일반 엑셀 통합 문서 형식으로 저장하면 매크로가 사라질 수 있습니다. 매크로가 들어간 파일은 보통 xlsm 형식으로 저장합니다. 파일 이름 옆 확장자가 다르다는 점만 기억해도 초반 실수를 많이 줄일 수 있습니다.
보안도 중요합니다. 매크로는 편리하지만, 악성 코드가 숨어 있을 수도 있습니다. 그래서 출처가 불분명한 엑셀 파일에서 매크로 실행을 요구한다면 바로 누르지 않는 편이 안전합니다. 회사 메일로 온 파일이라도 발신자와 내용이 어색하면 먼저 확인하는 습관이 필요합니다.
- 직접 만든 파일이나 신뢰할 수 있는 파일에서만 실행하기
- 모르는 파일의 매크로 사용 안내는 신중하게 확인하기
- 중요한 파일은 실행 전에 복사본 만들기
- 공유 전에는 매크로가 꼭 필요한지 다시 확인하기
엑셀에서 보안 경고가 뜨는 이유도 여기에 있습니다. 귀찮아 보일 수 있지만, 실제로는 파일을 보호하기 위한 장치입니다. 특히 급여, 매출, 개인정보가 들어간 파일에서는 자동화보다 안전이 먼저입니다.
초보자가 만들기 좋은 매크로 예시
처음 연습용으로는 결과가 눈에 바로 보이는 작업이 좋습니다. 예를 들어 보고서 제목 행을 굵게 만들고 배경색을 넣은 뒤, 전체 열 너비를 자동 조정하는 매크로는 난도가 낮습니다. 실행했을 때 화면이 바로 바뀌니 재미도 있습니다.
두 번째로 추천할 만한 예시는 빈 행 삭제입니다. 데이터가 1,000행 정도만 되어도 빈 행을 하나씩 지우는 일은 꽤 귀찮습니다. 매크로로 처리하면 반복 클릭이 줄고, 실수로 필요한 행을 건드릴 가능성도 낮아집니다. 다만 삭제 작업은 되돌리기가 까다로울 수 있으니 복사본에서 먼저 확인하는 편이 낫습니다.
세 번째는 시트별 PDF 저장이나 인쇄 설정입니다. 보고서를 자주 보내는 사람에게 특히 유용합니다. 매번 용지 방향, 여백, 인쇄 영역을 맞추는 대신 매크로 하나로 같은 형식을 적용하면 파일마다 결과물이 일정해집니다.
엑셀매크로를 오래 쓰려면 이름부터 깔끔하게
매크로가 1개일 때는 이름이 대충이어도 괜찮습니다. 그런데 5개, 10개로 늘어나면 이야기가 달라집니다. ‘Macro1’, ‘Macro2’처럼 저장해두면 나중에 무엇을 하는 기능인지 기억하기 어렵습니다. 이름만 잘 붙여도 관리가 훨씬 쉬워집니다.
- DeleteBlankRows처럼 동작이 보이는 이름 쓰기
- ReportFormat처럼 용도를 담은 이름 쓰기
- 테스트용 매크로와 실제 사용 매크로를 구분하기
- 파일 안에 간단한 설명 시트를 만들어두기
실무에서는 매크로 하나가 사람 한 명의 일을 대체한다기보다, 반복되는 작은 피로를 계속 덜어주는 느낌에 가깝습니다. 매일 5분씩 줄어드는 일이 별것 아닌 듯 보여도 한 달이면 100분이고, 1년이면 꽤 큰 시간이 됩니다. 그래서 엑셀매크로는 거창한 자동화보다 ‘내가 매번 귀찮아하던 바로 그 작업’부터 잡는 게 가장 현실적입니다.
처음에는 버튼 하나 만드는 것도 낯설지만, 한 번 성공하면 엑셀이 조금 다르게 보입니다. 손으로 반복하던 작업을 내가 직접 줄였다는 감각이 꽤 좋거든요. 엑셀을 자주 쓰는 사람이라면 작은 매크로 하나쯤 만들어두는 것만으로도 업무 리듬이 훨씬 가벼워질 수 있습니다.
