
엑셀 VBA 코드를 인터넷이나 블로그에서 찾았는데 막상 코드를 어디에 넣어야 하는지 몰라 막히는 경우가 많습니다.
특히 VBA를 처음 사용하는 분이라면 Alt + F11을 누른 뒤 나타나는 화면부터 낯설게 느껴질 수 있습니다.
하지만 실제 과정은 어렵지 않습니다.
VBA 편집기 열기 → 모듈 삽입 → 코드 붙여넣기 → 실행
이 순서만 알아두면 대부분의 기본 매크로를 사용할 수 있습니다.
이번 글에서는 엑셀 VBA 코드를 처음 사용하는 분도 따라 할 수 있도록 Alt+F11부터 모듈 삽입, 코드 입력, 저장까지 차례대로 알아보겠습니다.
엑셀 VBA란?
VBA는 Visual Basic for Applications의 약자입니다.
쉽게 말하면 엑셀에서 반복 작업을 자동으로 처리할 수 있도록 만들어진 프로그래밍 기능입니다.
예를 들어 다음과 같은 작업에 활용할 수 있습니다.
- 특정 시트 바로 찾기
- 여러 시트 이름 한꺼번에 가져오기
- 반복되는 서식 자동 적용
- 데이터 자동 정리
- 버튼을 눌러 특정 작업 실행
- 여러 파일이나 시트를 반복 처리
엑셀 기본 기능만으로 하기 번거로운 작업을 VBA 코드로 자동화할 수 있습니다.
다만 VBA 코드를 사용하려면 먼저 코드를 입력할 공간을 만들어야 합니다.
그 역할을 하는 것이 바로 VBA 편집기의 모듈(Module)입니다.
1. 엑셀 VBA 편집기 여는 방법
엑셀 파일을 연 상태에서 키보드의
Alt + F11
을 누릅니다.
그러면 엑셀 화면과 별도로 Microsoft Visual Basic for Applications 창이 열립니다.
이곳이 VBA 코드를 작성하고 관리하는 편집기입니다.
노트북이나 일부 키보드에서는 기능키 설정에 따라
Alt + Fn + F11
을 눌러야 할 수도 있습니다.
📸 ① : Alt+F11을 눌러 VBA 편집기가 열린 화면

개발 도구 탭에서도 열 수 있습니다
단축키가 익숙하지 않다면 엑셀 상단의 개발 도구 메뉴를 이용할 수도 있습니다.
개발 도구 탭에서 Visual Basic을 선택하면 같은 VBA 편집기가 열립니다.
다만 VBA를 자주 사용한다면 Alt + F11 단축키를 기억해두는 것이 편합니다.
참고로 엑셀 상단에 개발 도구 메뉴가 보이지 않는 경우도 있습니다.
개발 도구 탭은 기본 설정에서 숨겨져 있을 수 있기 때문입니다.
이 경우 엑셀 옵션의 리본 사용자 지정에서 개발 도구를 활성화하면 됩니다.
하지만 단순히 VBA 코드를 입력하는 목적이라면 개발 도구 탭이 없어도 Alt + F11만으로 VBA 편집기를 열 수 있습니다.
2. 왼쪽에서 현재 엑셀 파일 확인하기
VBA 편집기를 열면 왼쪽에 프로젝트 탐색기가 표시됩니다.
보통 다음과 비슷한 구조입니다.
- VBAProject
- Microsoft Excel Objects
- Sheet1
- Sheet2
- ThisWorkbook
여러 엑셀 파일을 동시에 열어둔 경우에는 VBAProject도 여러 개 보일 수 있습니다.
따라서 코드를 넣기 전에 내가 작업하려는 엑셀 파일이 맞는지 확인하는 것이 중요합니다.
예를 들어 현재 파일 이름이
매출관리.xlsm
이라면 VBA 편집기에도 해당 파일 이름이 포함된 프로젝트가 표시됩니다.
프로젝트 탐색기가 안 보일 때
VBA 편집기를 열었는데 왼쪽 프로젝트 창이 보이지 않을 수도 있습니다.
이때는 상단 메뉴에서
보기 → 프로젝트 탐색기
를 선택합니다.
단축키는
Ctrl + R
입니다.
그러면 현재 열려 있는 엑셀 파일과 시트 목록을 확인할 수 있습니다.
3. 모듈 삽입하기
일반적인 VBA 매크로 코드는 대부분 모듈에 넣습니다.
VBA 편집기 상단 메뉴에서
삽입 → 모듈
을 선택합니다.
그러면 왼쪽 프로젝트 목록에
Modules
폴더가 생기고 그 아래
Module1
이 생성됩니다.
오른쪽에는 흰색 코드 입력 화면이 나타납니다.
이곳에 VBA 코드를 붙여넣으면 됩니다.
📸 ② : 삽입 → 모듈을 선택하는 화면

왜 Sheet1이 아니라 모듈에 코드를 넣을까?
VBA 편집기를 처음 열면 왼쪽에
Sheet1
Sheet2
ThisWorkbook
등이 보입니다.
그래서 Sheet1을 클릭하고 그곳에 코드를 넣어야 한다고 생각하기 쉽습니다.
하지만 일반적인 매크로 코드는 표준 모듈(Module)에 넣는 것이 가장 기본적인 방법입니다.
예를 들어 다음과 같은 코드는 모듈에 넣으면 됩니다.
Sub 테스트()
MsgBox "VBA 실행 성공!"
End Sub
이 코드를 실행하면 화면에
VBA 실행 성공!
이라는 메시지가 나타납니다.
Sheet와 ThisWorkbook은 언제 사용할까?
모든 VBA 코드가 모듈에 들어가는 것은 아닙니다.
특정 상황에서는 Sheet나 ThisWorkbook 영역을 사용하기도 합니다.
| 위치 | 주로 사용하는 경우 |
|---|---|
| Module | 일반적인 매크로 실행 |
| Sheet | 특정 시트에서 발생하는 이벤트 |
| ThisWorkbook | 파일을 열거나 닫을 때 발생하는 이벤트 |
예를 들어 특정 셀 값이 바뀌었을 때 자동으로 작업을 실행하도록 만들려면 해당 시트의 코드 영역을 사용할 수 있습니다.
하지만 VBA를 처음 배우는 단계에서는
일반 매크로 = 모듈
이라고 기억해두면 이해하기 쉽습니다.
4. VBA 코드 붙여넣기
Module1을 선택하면 오른쪽에 큰 코드 입력창이 나타납니다.
이곳에 원하는 VBA 코드를 붙여넣습니다.
예를 들어 간단한 메시지를 표시하는 코드를 넣어보겠습니다.
Sub 테스트메시지()
MsgBox "매크로가 정상적으로 실행되었습니다."
End Sub
코드를 붙여넣었다면 별도의 저장 버튼을 누르기 전에 먼저 간단하게 실행해볼 수 있습니다.
코드 안에 커서를 놓고 키보드의
F5
를 누르면 해당 매크로가 실행됩니다.
또는 VBA 편집기 상단의 실행 버튼을 사용할 수도 있습니다.

5. 코드의 Sub와 End Sub는 무엇일까?
처음 VBA 코드를 보면 대부분 아래와 같은 형태로 되어 있습니다.
Sub 매크로이름()
실행할 코드
End Sub
여기에서
Sub
는 매크로가 시작되는 부분,
End Sub
는 매크로가 끝나는 부분이라고 이해하면 됩니다.
예를 들어
Sub 시트검색()
이라고 되어 있다면 시트검색이라는 이름의 매크로라는 뜻입니다.
나중에 Alt + F8을 눌렀을 때도 이 이름이 매크로 목록에 표시됩니다.
6. VBA 코드가 여러 개라면 어떻게 넣을까?
하나의 모듈 안에 여러 개의 매크로를 넣어도 됩니다.
예를 들어 다음과 같이 사용할 수 있습니다.
Sub 매크로1()
MsgBox "첫 번째 매크로"
End Sub
Sub 매크로2()
MsgBox "두 번째 매크로"
End Sub
두 매크로는 각각 독립적으로 실행할 수 있습니다.
코드가 많아지면
Module1
Module2
Module3
처럼 모듈을 나누어 관리할 수도 있습니다.
예를 들어
- 시트 관리 관련 코드
- 데이터 정리 관련 코드
- 출력 관련 코드
등으로 나누면 나중에 찾기 쉽습니다.
모듈 이름도 변경할 수 있습니다
VBA 편집기에서는 Module1이라는 기본 이름을 그대로 사용해도 됩니다.
하지만 모듈이 많아지면 이름을 알아보기 쉽게 변경하는 것도 좋습니다.
예를 들어
Module1
대신
시트관리
처럼 변경할 수 있습니다.
다만 VBA를 처음 사용하는 단계라면 굳이 모듈 이름까지 변경하지 않아도 됩니다.
코드 실행에는 문제가 없습니다.
7. VBA 편집기에서 엑셀 화면으로 돌아가기
코드를 입력한 뒤 다시 엑셀 화면으로 돌아가려면
Alt + F11
을 한 번 더 누르면 됩니다.
VBA 편집기와 엑셀 화면을 오갈 때 매우 편리한 단축키입니다.
또는 VBA 편집기 창을 최소화하거나 엑셀 창을 직접 선택해도 됩니다.
8. 입력한 매크로 실행하기
엑셀 화면으로 돌아왔다면 키보드에서
Alt + F8
을 누릅니다.
그러면 현재 사용할 수 있는 매크로 목록이 나타납니다.
앞에서 만든
테스트메시지
같은 매크로 이름이 목록에 나타납니다.
원하는 매크로를 선택한 뒤 실행을 누르면 됩니다.
즉, 기본적인 VBA 사용 흐름은 다음과 같습니다.
Alt + F11
↓
삽입 → 모듈
↓
VBA 코드 붙여넣기
↓
Alt + F11로 엑셀 돌아가기
↓
Alt + F8
↓
매크로 선택 후 실행
이 흐름을 기억하면 인터넷이나 블로그에서 찾은 VBA 코드를 직접 적용하기 훨씬 쉬워집니다.
📸 ③ : Alt+F8 매크로 목록에 작성한 매크로가 표시된 화면

9. 파일 저장 형식도 중요합니다
VBA 코드를 넣은 뒤 일반 엑셀 파일처럼 저장하면 문제가 생길 수 있습니다.
일반적인 엑셀 통합 문서 형식은
.xlsx
입니다.
하지만 xlsx 파일은 VBA 매크로를 저장할 수 없습니다.
따라서 VBA 코드가 들어 있는 파일은 보통

Excel 매크로 사용 통합 문서
형식으로 저장해야 합니다.
확장자는
.xlsm
입니다.
예를 들어
매출관리.xlsx
가 아니라
매출관리.xlsm
형태로 저장하는 것입니다.
xlsx와 xlsm의 차이
간단히 구분하면 다음과 같습니다.
| 파일 형식 | VBA 매크로 저장 |
|---|---|
| .xlsx | 불가능 |
| .xlsm | 가능 |
VBA 코드를 작성한 뒤 저장할 때 엑셀에서 매크로를 저장할 수 없는 형식이라는 메시지가 나타난다면 파일 확장자를 확인해보는 것이 좋습니다.
파일 → 다른 이름으로 저장 → Excel 매크로 사용 통합 문서(.xlsm)
형식으로 저장하면 됩니다.
10. 코드가 실행되지 않을 때 확인할 것
VBA 코드를 제대로 넣었는데 실행되지 않는다면 몇 가지를 확인해볼 수 있습니다.
① 코드가 모듈에 들어갔는지 확인
일반 매크로라면 Module1 등의 표준 모듈에 코드가 들어 있는지 확인합니다.
② Sub와 End Sub가 있는지 확인
기본적인 매크로는 다음과 같은 구조여야 합니다.
Sub 매크로이름()
코드
End Sub
③ 파일이 xlsm 형식인지 확인
매크로를 저장해야 한다면 .xlsm 형식을 사용해야 합니다.
④ 매크로 보안 설정 확인
인터넷에서 다운로드한 파일이나 외부에서 받은 엑셀 파일은 보안 설정 때문에 매크로 실행이 차단될 수 있습니다.
⑤ 코드에 오류가 없는지 확인
VBA 코드 일부가 빠졌거나 문법 오류가 있다면 실행되지 않을 수 있습니다.
오류 메시지가 나타난다면 메시지 내용과 강조 표시된 코드 부분을 확인합니다.
VBA 코드를 넣을 때 주의할 점
인터넷에서 VBA 코드를 찾으면 편리하지만 출처를 알 수 없는 코드를 무조건 실행하는 것은 피하는 것이 좋습니다.
VBA는 엑셀 내부의 데이터를 수정하거나 삭제하는 작업도 할 수 있기 때문입니다.
중요한 파일에 처음 적용할 때는 원본 파일을 복사한 뒤 테스트하는 것이 안전합니다.
특히 데이터를 삭제하거나 여러 시트를 변경하는 코드라면 백업본에서 먼저 실행해보는 것을 권장합니다.
자주 묻는 질문
Q. 개발 도구 탭이 없어도 VBA 코드를 넣을 수 있나요?
네.
Alt + F11을 누르면 개발 도구 탭이 없어도 VBA 편집기를 열 수 있습니다.
Q. VBA 코드는 Sheet1에 넣어야 하나요?
일반적인 매크로라면 대부분 표준 모듈에 넣습니다.
삽입 → 모듈을 선택해 Module1을 만든 뒤 코드를 입력하면 됩니다.
Q. Module1은 삭제해도 되나요?
해당 모듈 안에 필요한 코드가 없다면 삭제할 수 있습니다.
하지만 필요한 VBA 코드가 들어 있다면 모듈을 삭제할 때 코드도 함께 삭제되므로 주의해야 합니다.
Q. Alt+F8을 눌러도 매크로가 안 보이는 이유는 무엇인가요?
코드 위치나 매크로 구조를 확인해보는 것이 좋습니다.
일반적으로 Sub 매크로이름() 형태의 매크로가 표준 모듈에 들어 있어야 Alt+F8 목록에서 쉽게 확인할 수 있습니다.
정리
엑셀 VBA 코드를 넣는 과정은 처음 보면 복잡해 보이지만 기본 순서는 간단합니다.
1. Alt + F11로 VBA 편집기 열기
2. 삽입 → 모듈 선택
3. Module1에 VBA 코드 붙여넣기
4. Alt + F11로 엑셀 화면 돌아가기
5. Alt + F8로 매크로 실행
그리고 VBA 코드를 저장해야 한다면 파일 형식도 반드시 확인해야 합니다.
일반 .xlsx 파일이 아니라 매크로 사용 통합 문서인 .xlsm 형식으로 저장해야 VBA 코드를 유지할 수 있습니다.
처음에는 VBA 편집기 화면 자체가 낯설 수 있지만 모듈 삽입과 코드 붙여넣기 방법만 익혀두면 시트 검색, 시트 목록 만들기, 반복 작업 자동화 등 다양한 엑셀 기능을 활용할 수 있습니다.

