오늘 끝나면
매크로 기록기
- ✓매크로 기록기의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 매크로이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
클릭이 그대로 코드가 됨 — 첫 매크로 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
엑셀 VBA · 02
매크로
기록기
기록 켜고 · 엑셀 만지고 · 정지함.
그 사이 한 동작이 전부 VBA 코드로 바뀜.
코드 한 줄 몰라도 첫 매크로는 오늘 만들어짐.
기록 → 조작 → 정지, 끝나면 코드가 남는다
매크로 기록기는 엑셀에 붙은 받아쓰기 기계임. 내가 한 클릭을 그대로 받아 적음.
순서는 셋임.
개발 도구 탭 → 매크로 기록으로 기록을 켬.
평소처럼 셀 누르고 값 넣고 색칠함.
기록 중지를 누르면 멈춤.
정지하는 순간, 그 사이 한 동작이 전부 코드로 정리돼 있음.
한 줄도 안 쳤는데 매크로가 한 개 생김. 첫 코드는 손이 아니라 기록기가 써줌.
그 코드는 Module 안에 Sub Macro1() … End Sub 모양으로 들어감.
클릭 하나가 코드 한 줄이 된다
기록기는 마법이 아님. 동작마다 정해진 코드 한 줄을 딱 붙여줌.
A1을 클릭하면 Range("A1").Select.
값을 치면 선택된 칸에 ActiveCell.Value = 100.
굵게 버튼은 Selection.Font.Bold = True.
그래서 기록된 코드를 보면 내가 방금 한 일이 순서대로 적혀 있음.
Range·ActiveCell은 어디를 / .Value·.Font는 무엇을 바꿨는지를 말함.
이 용어들은 3강·4강에서 제대로 팜. 지금은 클릭 = 코드 한 줄이라는 감만 잡으면 됨.
직접 기록해 보기
오른쪽이 미니 기록기임. 시트를 만지면 아래 Sub Macro1() 안에 VBA 코드가 한 줄씩 쌓임.
셀을 클릭해 선택하고 · 값을 넣고 · 굵게/색칠을 눌러 보셈.
매번 대응하는 코드가 정확히 한 줄씩 적힘. 숫자는 = 100, 글자는 = "합계"처럼 따옴표가 자동으로 붙음.
정지를 눌러 보면 차이가 보임.
정지 상태에선 셀이 바뀌어도 코드가 안 늘어남. 기록이 멈췄기 때문임.
다시 기록 시작을 누르면 그 다음 조작부터 또 쌓임. 이게 켜고/끄는 받아쓰기임.
| A | B | C | |
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 |
셀을 클릭하면 여기 코드가 쌓임
지금 한 조작이 그대로 코드가 됨. 정지 누르면 기록만 멈춤.
기록된 코드를 읽으며 배운다
기록기의 진짜 쓸모는 자동화가 아니라 교과서임. 내가 아는 동작이 어떤 코드인지 보여줌.
모르는 기능을 코드로 쓰고 싶을 때, 일단 기록을 켜고 그 기능을 손으로 한 번 해봄.
정지하고 코드를 열면, 그 기능의 정확한 VBA 문법이 적혀 있음.
정렬·필터·서식 같은 복잡한 동작도 이렇게 정답 코드를 얻을 수 있음.
그 코드를 읽고 손보면서 Range·Selection·.Value 같은 말이 몸에 붙음.
기록기 = 엑셀이 직접 채점해 주는 VBA 문제집임.
Range("B2").Select
↳B2를 선택했다
ActiveCell.Value = "합계"
↳글자 "합계"를 넣었다
Selection.Font.Bold = True
↳굵게 만들었다
기록기로는 거기까지다
기록기는 시작점이지 종착점은 아님. 내가 한 동작만 그대로 받아 적을 뿐임.
기록기는 판단을 못 적음.
“값이 100보다 크면 빨강” 같은 조건(If), “1000줄 다 돌려라” 같은 반복(For)은 기록 안 됨.
기록된 코드는 종종 .Select가 잔뜩 붙은 길고 둔한 코드임.
그래서 흐름은 이렇게 감.
기록기로 뼈대를 얻고 → 코드를 읽으며 군더더기를 지우고 → 변수·조건·반복을 손으로 더함.
그 손으로 더하는 법이 3강부터의 내용임. 기록기는 그 문 앞까지 데려다줌.
Q. 매크로 기록기의 가장 큰 가치는? (코드를 알아서 다 짜줌 · 조건·반복 자동 생성 · 내 조작을 코드로 바꿔 학습·자동화의 시작점 · 버그를 잡아줌)
정답은 내 조작을 코드로 바꿔 학습·자동화의 시작점이 되는 것임.기록기는 내가 한 동작만 1:1로 받아 적음 — 조건·반복 같은 판단은 못 만듦.
대신 코드를 한 줄도 모를 때 첫 매크로를 손에 쥐여 주고, 그 코드를 읽으며 문법을 배우게 함.
뼈대는 기록기로 얻고, 변수·조건·반복은 그 위에 손으로 얹는 것임.
- +셀 선택 · 값 입력
- +글꼴 · 색 · 서식
- +정렬 · 필터 클릭
- +내가 한 동작 그대로
- –조건 (If 값>100)
- –반복 (1000줄 돌기)
- –변수에 담아 재사용
- –판단 · 자동 흐름