엑셀 매크로를 자주 실행한다면 VBA(Visual Basic for Applications) 코드에 단축키를 지정해 작업 속도를 크게 줄일 수 있습니다. 오늘은 단축키 지정·관리·해제방법을 정리해 보았습니다.
1. 매크로에 단축키 지정하기
- 개발 도구 탭에서
매크로버튼(또는Alt+F8) 클릭. - 목록에서 단축키를 붙여줄 매크로를 선택 후 옵션(O)… 버튼 클릭.
- 매크로 옵션 대화상자
- Ctrl+ 입력란에 영문자를 입력 → 예:
m을 입력하면Ctrl+Shift+M(대문자 입력 시) 또는Ctrl+M(소문자 입력 시) - 설명 칸에 기능 메모 추가(선택).
- Ctrl+ 입력란에 영문자를 입력 → 예:
- 확인(OK) 후 창을 닫으면 지정 완료.
⚠️ 영문자 외에 숫자나 특수문자는 지정 불가. 이미 엑셀이 기본으로 사용하는 조합과 충돌할 수 있으니 사용 전 테스트 필수.
2. VBA 코드에서 직접 단축키 설정
여러 통합문서에서 일괄 지정하거나 동적 변경이 필요할 때 유용합니다.
'이벤트: 통합문서 열릴 때 단축키 등록
Private Sub Workbook_Open()
'Ctrl+Shift+T에 MacroTest 매핑
Application.OnKey "^+t", "MacroTest"
End Sub
'이벤트: 통합문서 닫힐 때 단축키 해제
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "^+t"
End Sub
핵심 메서드: Application.OnKey Key, Procedure
- Key: 문자열로 단축키 지정
- Ctrl:
^| Shift:+| Alt:% - 예)
"%{F8}"→ Alt+F8
- Ctrl:
- Procedure: 실행할 매크로 이름(문자열). 생략하면 등록 해제.
3. 추천 키 조합 규칙
- 기본 단축키와 충돌 회피
Ctrl+C,Ctrl+V등은 피하세요.
- Shift 또는 Alt 추가로 구분
- 예)
Ctrl+Shift+Q는 기본 단축키 없음.
- 예)
- 주제별 접두어 통일
- 예) 데이터 정리 매크로는 모두
Ctrl+Shift+D계열로.
- 예) 데이터 정리 매크로는 모두
| 목적 | 제안 키 | 비고 |
|---|---|---|
| 자주 쓰는 데이터 정리 | Ctrl+Shift+D | 기본 기능과 미충돌 |
| 보고서 자동 작성 | Ctrl+Shift+R | ‘R’=Report 기억 쉬움 |
| 테스트용 임시 매크로 | Ctrl+Alt+T | Alt 포함해 실수 방지 |
4. 단축키 목록 확인·수정·해제
- 확인·수정:
Alt+F8→ 매크로 선택 →옵션(O)… - 해제
- 옵션 창에서 Ctrl+ 입력란 내용 지우기
- 또는
Application.OnKey메서드에 Procedure 매개변수 생략
'Ctrl+Shift+T 할당 해제
Application.OnKey "^+t"
5. 다국어 키보드 주의사항
- 한/영 전환 상태에 따라
Application.OnKey는 영문만 인식. - 한국어 자판 상태에서도 물리 키 값이 전달되므로 혼동 없음.
- 단축키 입력 시 Caps Lock 상태는 대·소문자 구분에 영향.
6. 실무 팁
- 서명된 매크로가 아니면 다른 PC에서 보안 경고 발생. 단축키도 비활성화될 수 있으니 신뢰할 수 있는 위치에 저장.
- 여러 매크로에 동일한 단축키를 할당하면 가장 마지막에 열린 통합문서의 매핑이 우선 적용.
- VBA 편집 중
F5실행 전 단축키를 잠시 해제하면 디버깅 편리.
단순 반복 작업이라도 한 번의 단축키로 끝낼 수 있다면 생산성이 크게 상승합니다. 위 방법을 체크리스트 삼아, 자주 쓰는 VBA 매크로에 직접 단축키를 설정해 보세요.