스킬캠퍼스
2강 · 매크로 기록기
강의

오늘 끝나면

매크로 기록기

  • 매크로 기록기의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 매크로이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

클릭이 그대로 코드가 됨 — 첫 매크로 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

엑셀 VBA · 02

매크로
기록기

기록 켜고 · 엑셀 만지고 · 정지함.
그 사이 한 동작이 전부 VBA 코드로 바뀜.
코드 한 줄 몰라도 첫 매크로는 오늘 만들어짐.

P.01엑셀 VBA · 02

기록 → 조작 → 정지, 끝나면 코드가 남는다

매크로 기록기는 엑셀에 붙은 받아쓰기 기계임. 내가 한 클릭을 그대로 받아 적음.

순서는 셋임.
개발 도구 탭 → 매크로 기록으로 기록을 켬.
평소처럼 셀 누르고 값 넣고 색칠함.
기록 중지를 누르면 멈춤.

정지하는 순간, 그 사이 한 동작이 전부 코드로 정리돼 있음.
한 줄도 안 쳤는데 매크로가 한 개 생김. 첫 코드는 손이 아니라 기록기가 써줌.
그 코드는 Module 안에 Sub Macro1() … End Sub 모양으로 들어감.

버튼 두 개와 그 사이의 일
기록기의 세 동작
1기록 시작
개발 도구 → 매크로 기록
2엑셀 조작
클릭 · 값 · 서식 — 평소처럼
3기록 중지
멈추면 코드가 남음
결과Sub Macro1() … End Sub
P.02엑셀 VBA · 02

클릭 하나가 코드 한 줄이 된다

기록기는 마법이 아님. 동작마다 정해진 코드 한 줄을 딱 붙여줌.

A1을 클릭하면 Range("A1").Select.
값을 치면 선택된 칸에 ActiveCell.Value = 100.
굵게 버튼은 Selection.Font.Bold = True.

그래서 기록된 코드를 보면 내가 방금 한 일이 순서대로 적혀 있음.
Range·ActiveCell은 어디를 / .Value·.Font는 무엇을 바꿨는지를 말함.
이 용어들은 3강·4강에서 제대로 팜. 지금은 클릭 = 코드 한 줄이라는 감만 잡으면 됨.

조작과 코드가 1:1로 붙음
조작 → 코드 한 줄
A1 클릭
Range("A1").Select
100 입력
ActiveCell.Value = 100
굵게 버튼
Selection.Font.Bold = True
노랑 색칠
Selection.Interior.ColorIndex = 6
클릭 하나 ↔ 코드 한 줄 — 1:1로 붙음
P.03엑셀 VBA · 02

직접 기록해 보기

오른쪽이 미니 기록기임. 시트를 만지면 아래 Sub Macro1() 안에 VBA 코드가 한 줄씩 쌓임.

셀을 클릭해 선택하고 · 값을 넣고 · 굵게/색칠을 눌러 보셈.
매번 대응하는 코드가 정확히 한 줄씩 적힘. 숫자는 = 100, 글자는 = "합계"처럼 따옴표가 자동으로 붙음.

정지를 눌러 보면 차이가 보임.
정지 상태에선 셀이 바뀌어도 코드가 안 늘어남. 기록이 멈췄기 때문임.
다시 기록 시작을 누르면 그 다음 조작부터 또 쌓임. 이게 켜고/끄는 받아쓰기임.

셀을 만지면 코드가 실시간으로 쌓임
RECON
시트 — 셀 눌러 선택, 조작해 보셈선택: A1
ABC
1
2
3
조작 — A1 셀에
기록된 매크로 — VBA0
Sub Macro1()

셀을 클릭하면 여기 코드가 쌓임

End Sub

지금 한 조작이 그대로 코드가 됨. 정지 누르면 기록만 멈춤.

P.04엑셀 VBA · 02

기록된 코드를 읽으며 배운다

기록기의 진짜 쓸모는 자동화가 아니라 교과서임. 내가 아는 동작이 어떤 코드인지 보여줌.

모르는 기능을 코드로 쓰고 싶을 때, 일단 기록을 켜고 그 기능을 손으로 한 번 해봄.
정지하고 코드를 열면, 그 기능의 정확한 VBA 문법이 적혀 있음.

정렬·필터·서식 같은 복잡한 동작도 이렇게 정답 코드를 얻을 수 있음.
그 코드를 읽고 손보면서 Range·Selection·.Value 같은 말이 몸에 붙음.
기록기 = 엑셀이 직접 채점해 주는 VBA 문제집임.

내 동작 ↔ VBA 한 줄 대응표
기록된 코드 읽기
Sub Macro1()

Range("B2").Select

B2를 선택했다

ActiveCell.Value = "합계"

글자 "합계"를 넣었다

Selection.Font.Bold = True

굵게 만들었다

End Sub
모르는 기능 → 기록 → 코드 읽기 = VBA 문법 공부
P.05엑셀 VBA · 02

기록기로는 거기까지다

기록기는 시작점이지 종착점은 아님. 내가 한 동작만 그대로 받아 적을 뿐임.

기록기는 판단을 못 적음.
“값이 100보다 크면 빨강” 같은 조건(If), “1000줄 다 돌려라” 같은 반복(For)은 기록 안 됨.
기록된 코드는 종종 .Select가 잔뜩 붙은 길고 둔한 코드임.

그래서 흐름은 이렇게 감.
기록기로 뼈대를 얻고 → 코드를 읽으며 군더더기를 지우고 → 변수·조건·반복을 손으로 더함.
그 손으로 더하는 법이 3강부터의 내용임. 기록기는 그 문 앞까지 데려다줌.

Q. 매크로 기록기의 가장 큰 가치는? (코드를 알아서 다 짜줌 · 조건·반복 자동 생성 · 내 조작을 코드로 바꿔 학습·자동화의 시작점 · 버그를 잡아줌)정답은 내 조작을 코드로 바꿔 학습·자동화의 시작점이 되는 것임.
기록기는 내가 한 동작만 1:1로 받아 적음 — 조건·반복 같은 판단은 못 만듦.
대신 코드를 한 줄도 모를 때 첫 매크로를 손에 쥐여 주고, 그 코드를 읽으며 문법을 배우게 함.
뼈대는 기록기로 얻고, 변수·조건·반복은 그 위에 손으로 얹는 것임.
기록되는 것과 안 되는 것
기록되는 것 · 안 되는 것
기록됨
  • +셀 선택 · 값 입력
  • +글꼴 · 색 · 서식
  • +정렬 · 필터 클릭
  • +내가 한 동작 그대로
기록 안 됨
  • 조건 (If 값>100)
  • 반복 (1000줄 돌기)
  • 변수에 담아 재사용
  • 판단 · 자동 흐름
뼈대는 기록기 · 판단은 3강부터 손으로

3줄 요약

  1. 1클릭이 그대로 코드가 됨 — 첫 매크로
  2. 2매크로 기록기은 매크로 → 변수·셀 → 조건·반복 → 폼 → 자동화 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

매크로

클릭이 그대로 코드가 됨 — 첫 매크로

Sub

실행 단위가 되는 프로시저

Range

다루려는 셀이나 셀 묶음