스킬캠퍼스

오늘 끝나면

매크로 기록기

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

실습 미션

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

성공 조건

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

엑셀 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가 적힌다.

그래서 기록된 코드를 보면 내가 방금 한 일이 순서대로 적혀 있다.
RangeActiveCell은 어디를 바꿨는지, .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

다루려는 셀이나 셀 묶음