본문 바로가기
업무 지식/엑셀 매크로&VBA

[엑셀] 매크로 만드는 방법(매크로 기록을 통한 작업 자동화)

by 김억지 2023. 3. 28.

매크로의 사전적 정의는 '여러 개의 명령을 묶어 하나의 명령으로 만든 것'입니다. 즉 여러 개의 작업을 하나의 매크로로 기록하여 반복적인 작업을 하나의 명령으로 수행할 수 있습니다.

 

엑셀에서도 매크로 기능을 제공하고 있는데 대부분의 사용자들은 매크로라고 하면 전문적이고 어려울 것이라고 예상해서 해당 기능을 사용하려는 시도조차 잘 하지 않는 것 같습니다. 물론 고도화된 매크로 작업은 단순한 매크로 기록으로는 한계가 있고 VBA라는 Microsoft Office에 내장돼 있는 프로그래밍 언어를 숙달해야 하지만 대부분의 실무에서 사용되는 매크로 기능은 단순히 매크로 기록 기능을 사용하는 것만으로도 반복적인 업무를 상당 부분 줄일 수 있습니다. (매크로를 사용할 때 VBA를 완벽하게 이해할 필요는 없습니다. 매크로 기록 기능을 이용하면 사용자가 수행하는 작업을 자동으로 VBA로 변환시켜 줍니다.)

 

일단 매크로 기능을 사용하기 위해서는 기본 옵션 설정이 필요합니다. 아래의 포스팅을 참고하셔서 '개발 도구' 메뉴를 추가하시면 됩니다.

 

[엑셀] 매크로 사용을 위한 메뉴 설정과 파일 형식

엑셀에서 매크로를 사용하기 위해 필요한 기능은 메뉴 중 '개발 도구'에 정리되어 있습니다. 그런데 별로도 설정을 하지 않았다면 기본적으로 세팅된 메뉴에는 '개발 도구' 메뉴가 없습니다. 그

pddwork.tistory.com

 

예를 들어 각 회사에서 사용하는 인력시스템에서 직원 명단을 엑셀로 출력하면 직원 이름 기준 오름차순으로 명단이 만들어지고 생년월일 또한 yyyy-mm-dd와 같은 날짜 형식이 아니라 yyyy.mm.dd처럼 텍스트 형식으로 나온다고 가정해 보겠습니다.

 

이 표를 매번 이름 기준이 아닌 부서명 오름차순으로 정렬을 하고 생년월일을 yyyy-mm-dd의 날짜 형식으로 바꾸는 작업을 수행한다고 할 때 작업할 때마다 하나씩 수정하는 것보다 매크로를 기록해서 작업을 진행하는 것이 훨씬 더 효율적일 것입니다.

 

위의 표를 부서명 오름차순으로 정령하고 생년월일을 날짜 형식으로 바꾸는 매크로를 기록해 보겠습니다.

 

메뉴 중 '개발 도구'를 클릭하고 코드 부문에 있는 '매크로 기록'을 클릭합니다.

 

(메뉴에 '개발 도구'가 없다면 위에 있는 포스팅을 참고하셔서 설정을 변경해야 합니다.)

 

'매크로 기록' 창이 뜨면 매크로 이름과 설명을 입력한 다음 확인 버튼을 클릭합니다. 바로 가기 키는 만든 매크로를 단축키를 이용하여 사용할 때 지정해 주시면 됩니다. 매크로 저장 위치는 새로운 파일을 만들어서 저장할 수도 있는데 여기서는 '현재 통합 문서'에 저장을 하겠습니다.

 

매크로 기록 창에서 이름과 설명을 입력한 후 확인버튼을 누르면 기존에 '매크로 기록'이던 메뉴가 '기록 중지' 메뉴로 바뀌면서  수행하는 작업을 기록하는 모드로 전환됩니다. 이 상태에서는 수행하는 작업들이 다 기록되기 때문에 꼭 필요한 작업만 정확하게 수행해야 매크로가 정상적으로 기록됩니다.

 

표 안의 임의의 셀을 클릭한 다음 '데이터' 메뉴에 '정렬'을 클릭합니다.

 

정렬 기준을 부서, 오름차순으로 변경한 다음 확인 버튼을 클릭합니다.

 

이러면 일단 부서명 기준으로 정렬하는 작업은 기록이 되었습니다. 이제는 생년월일 날짜형식을 바꿔보겠습니다.

 

D열 전체를 선택합니다. (영문자 D를 선택하면 D열 전체가 선택됩니다.) 향후 직원이 추가로 채용되어서 명단이 늘어날 수 있으므로 이러한 경우에서는 열 전체를 클릭해서 매크로 기록을 해주는 것이 편리합니다. 만약 표가 변경이 없을 경우에는 D2:D18셀만 선택해도 됩니다.

 

D열을 선택한 다음 '찾기 및 바꾸기' 단축키인 Ctrl+F를 누릅니다.(생년월일에 있는 '.'을 '-'로 바꿀 예정입니다.)

 

'바꾸기(P)' 메뉴를 클릭하고 찾을 내용에 '.', 바꿀 내용에 '-'를 입력한 다음 '모두 바꾸기(A)'를 클릭합니다.

 

바꾸기 작업이 완료 됐다는 창이 뜨면 확인 버튼을 클릭합니다.

 

바꾸기 작업이 완료된 후 '찾기 및 바꾸기' 창을 닫습니다.

 

매크로 기록할 작업이 완료되었으면 '개발 도구' 메뉴에 코드 부문에 있는 '기록 중지'를 클릭합니다.

 

이렇게 '기록 중지'까지 클릭하면 매크로 기록이 끝났습니다.

 

이름 오름차순으로 정렬되어 있고 생년월일이 텍스트 형식으로 된 상태로 되돌렸습니다. 이 표를 기록한 매크로를 통해 부서명 오름차순으로 정렬하고 생년월일을 날짜 형식으로 바꿔보겠습니다.

 

'개발 메뉴'에 '매크로'를 클릭합니다. 또는 단축키인 'Alt+F8'을 누릅니다.

 

만들었던 '직원명단수정' 매크로를 클릭한 다음에 '실행(R)'을 클릭합니다. 이 창에서는 매크로를 편집할 수 있는데 VBA에 능숙한 것이 아니면 기존에 만든 매크로를 삭제하고 다시 기록하는 것이 더 편리합니다.

 

매크로를 실행하면 이전에 기록한 대로 부서 오름차순으로 정렬되고 생년월일의 형식이 yyyy-mm-dd로 바뀌게 됩니다.

 

위의 예시는 매크로 기록 과정을 보여드리기 위해 간단한 작업을 기록한 케이스이고 이 외에도 반복적인 작업들을 매크로 기능을 이용하여 작업시간을 단축할 수 있습니다. 

댓글