엑셀 매크로
IT위키
더 많은 작업
Excel Macro
엑셀에서 반복되는 작업을 기록해 두었다가 한 번의 명령으로 다시 실행하는 기능
기록한 내용은 VBA(Visual Basic for Applications) 코드로 저장되며, Visual Basic Editor에서 직접 고칠 수 있다.
[개발 도구] 탭 → [매크로 기록] 으로 시작한다.
- 매크로 이름 : 첫 글자는 반드시 문자여야 한다. 공백을 쓸 수 없고 `.` `?` `/` 등의
기호도 쓸 수 없다. 밑줄은 쓸 수 있다.
- 바로 가기 키 : Ctrl + 영문자 한 글자로 지정한다. 대문자로 지정하면 Ctrl + Shift + 문자가 된다.
엑셀의 기본 단축키와 겹치면 매크로가 우선한다.
- 매크로 저장 위치 : 현재 통합 문서 / 새 통합 문서 / 개인용 매크로 통합 문서
(`PERSONAL.XLSB`. 여기에 저장하면 모든 통합 문서에서 쓸 수 있다)
- 매크로가 포함된 파일은 `.xlsm` 형식으로 저장해야 한다.
- 매크로 기록은 기본적으로 셀을 절대 참조로 기록한다. 선택한 셀 위치를 기준으로 움직이게 하려면 [개발 도구] → [상대 참조로 기록]을 켠 다음 기록한다
- 작업을 끝내는 데 필요한 단계가 모두 기록되지만, 리본 메뉴를 이리저리 옮겨 다닌 탐색 동작은 기록되지 않는다. 실제로 셀·서식·데이터를 바꾼 동작만 남는다
- 개인용 매크로 통합 문서(PERSONAL.XLSB)는 XLSTART 폴더에 숨겨진 통합 문서로 저장되어 엑셀을 시작할 때마다 자동으로 열린다. 그래서 여기에 저장한 매크로는 어느 통합 문서에서나 실행할 수 있다
[개발 도구] → [매크로] 또는 Alt + F8 로 연다.
| 단추 | 동작 |
|---|---|
| 실행 | 선택한 매크로를 실행한다 |
| 한 단계씩 코드 실행 | Visual Basic Editor가 열리고 한 줄씩 실행하며 과정을 확인할 수 있다 |
| 편집 | Visual Basic Editor에서 코드를 수정한다 |
| 만들기 | 새 매크로의 빈 프로시저를 만들어 Visual Basic Editor를 연다 |
| 삭제 | 선택한 매크로를 지운다 |
| 옵션 | 바로 가기 키와 설명을 수정한다 |
[만들기] 는 빠른 실행 도구 모음에 명령을 추가하는 기능이 아니다. 도구 모음에 추가하려면 [파일] → [옵션] → [빠른 실행 도구 모음] 에서 범주를 '매크로'로 바꿔 선택해야 한다. 자주 나오는 함정이다.
[매크로 이름] 칸은 실행·편집할 매크로를 고르는 곳이지 이름을 바꾸는 곳이 아니다. 이름을 바꾸려면 [편집] 으로 Visual Basic Editor 를 열어 Sub 매크로1() 의 이름을 고친다. 목록에 없는 이름을 적으면 [만들기] 가 켜져 그 이름으로 새 매크로를 만든다.
- 매크로 대화 상자에서 선택해 [실행]
- 지정해 둔 바로 가기 키
- 도형·그림·단추에 매크로를 지정한 뒤 클릭
- 빠른 실행 도구 모음이나 리본에 추가한 단추
- 다른 매크로에서 호출
워크시트의 셀 자체를 클릭해서는 매크로를 실행할 수 없다. 셀에는 매크로를 지정할 수 없기 때문이다. 셀 위에 도형이나 단추를 올려 두고 거기에 지정해야 한다.
매크로는 파일 조작과 외부 호출이 가능해 악성 코드로 쓰이기도 한다. [보안 센터] → [매크로 설정] 에서 기본값은 '알림이 포함된 모든 매크로 사용 안 함'이며, 신뢰할 수 있는 파일만 [콘텐츠 사용]으로 허용하는 것이 안전하다.