엑셀에서 반복적인 작업을 자동화 해서 처리하고자 할 때 매크로를 만들어 사용하게 됩니다.
매크로는 다양한 용도로 활용됩니다. 반복적인 작업을 자동화하는 것 뿐만 아니라 복잡하고 어려운 계산이나 엑셀에서 구현하기 어려운 프로세스를 VBA(Visual Basic for Applications) 코드를 작성해서 매크로로 실행해서 간단하게 처리하기도 합니다.
이번 글에서 소개할 내용은 엑셀에서 매크로 기록을 사용하여 별도의 VBA 코드 작성 없이 자동으로 VBA 코드를 생성해서 매크로를 만들고 실행하는 방법에 대해 알아보겠습니다.
이해를 돕기 위해 예제로 엑셀 시트에서 열(Column)을 자동으로 정렬하는 매크로를 만들어 보겠습니다.
참고로 매크로 및 VBA 도구 사용이 처음이거나 엑셀 메뉴에 개발 도구 추가가 되어 있지 않는 경우 엑셀에서 VBA(매크로)를 처음으로 시작할 때 참고하세요. 글을 먼저 참고하세요.
매크로 기록을 사용하기 전에 참고할 사항
▶ 본격적인 매크로 기록 예제를 설명하기 전에 몇 가지 참고할 사항을 정리해 보았습니다.
- 매크로 및 VBA 도구는 개발 도구 메뉴에 있습니다. 먼저 엑셀 메뉴에 개발 도구를 추가해 주어야 합니다.
- 매크로 기록은 매크로 기록을 시작부터 기록이 중지 될 때까지 모든 동작을 VBA 코드로 기록합니다.
- 매크로 기록 중에 잘못된 동작이 발생했을 경우 매크로 기록은 처음부터 다시 시작해서 기록해야 합니다.
- 특정 시트 범위에 대한 일련의 작업을 매크로를 기록하면 매크로는 해당 범위 내의 셀에서만 실행됩니다.
따라서 매크로를 확장해서 사용하기 위해서는 셀 범위의 수정이 필요합니다. - 매크로 기록은 실제 VBA 코드로 만들어지기에 VBA 코드를 수정해서 매크로를 실행할 수 있습니다.
- 실제 사용에서는 기본적은 동작을 매크로 기록으로 기록한 다음 VBA 코드를 조금씩 수정해서 사용하는 경우가 많습니다.
- 가급적 단일 프로세스의 작은 매크로 기록을 여러 개 만들어 순차적으로 사용하는 것이 좋습니다.
작업이 긴 여러 프로세스 하나의 매크로로 길게 기록하는 것은 그다지 좋은 방법이 아닙니다. - 매크로가 포함된 엑셀 파일은 저장할 때 파일 형식을 “Excel 매크로 사용 통합 문서 (*.xlsm)” 선택하고 저장해야 합니다.
매크로 기록을 사용하여 열 정렬 매크로 만들기
1. 리본 메뉴에서 개발 도구를 선택하고 옵션 메뉴의 매크로 기록을 클릭합니다.
그럼 지금부터 이루어지는 모든 작업을 매크로 VBA 코드로 기록되게 됩니다.
2. 매크로 기록 창에서 매크로 이름을 입력합니다. 이름은 모두 붙여서 입력합니다.
그리고 확인을 클릭하면 해당 매크로 이름으로 매크로가 만들어지게 됩니다.
3. 지금부터 매크로 기록을 위한 일반적인 열 정렬 과정을 진행하면 됩니다.
4. 홈 탭을 선택하고, A열을 전체 선택하고, 정렬 및 필터 메뉴에서 사용자 지정 정렬을 선택합니다.
그럼 정렬 경고 창이 뜨는데 A열만 정렬할 목적이므로 현재 선택 영역으로 정렬을 선택하고 정렬 버튼을 클릭합니다.
5. 정렬 기준을 정하고 확인 버튼을 클릭합니다. 그럼 A열이 정렬되게 됩니다. (그냥 일반적인 정렬 과정입니다.)
6. A열 정렬이 끝났으니 기록 중지를 클릭해 줍니다.
7. 다시 매크로 창이 뜹니다. 방금 진행한 A열 정렬이 “미등록정렬“이라는 매크로로 만들어졌습니다.
매크로를 선택하고 편집 버튼을 클릭해서 실제 만들어진 VBA 코드를 확인해 보겠습니다.
8. 어렵게 생각했던 VBA 소스 코드가 아래 화면처럼 자동으로 만들어진 것을 확인할 수 있습니다.
9. 자동으로 만들어진 A열 정렬의 VBA 코드 부분에서 Range 부분을 수정해줄 필요가 있습니다.
매크로 기록을 할 때 시트에는 16행까지만 내용이 있어 Range도 16행 까지만 기록되었습니다. 계속 추가될 수 있으니 Range 범위를 충분히 늘려 줍니다. 수정 뒤에는 저장 해주면 됩니다.
10. 이제 매크로를 실행해 보겠습니다.
11. 개발 도구의 매크로를 클릭하면 매크로 창이 뜨는데 이미 만들어진 매크로 리스트가 나타납니다.
실행할 매크로를 선택하고 실행 버튼을 클릭하면 매크로가 실행됩니다. A열이 잘 정렬되는 것을 확인하실 수 있습니다.
※ 매번 매크로를 실행하기 위해 매크로 창을 열고, 매크로를 선택하고 실행하는 과정이 조금 번거롭게 느껴집니다.
매크로 실행 버튼을 추가해서 버튼을 클릭하면 매크로가 자동 실행되도록 만들면 좀 더 쉽게 사용할 수 있습니다.
관련해서 엑셀에서 매크로 실행 버튼을 삽입해서 간편하게 매크로를 실행하는 방법 글을 참고하세요.
※ 함께 읽으면 도움이 될 만한 다른 포스팅 글입니다.
이 글이 도움이 되었기를 바랍니다. ^-^