오늘 끝나면

VBA란

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

실습 미션

엑셀을 코드로 자동화 — 반복 작업을 한 번에 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

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

엑셀 VBA · 01

VBA란
무엇인가

VBA는 엑셀 안에 든 프로그래밍 언어임.
매번 손으로 하던 반복 작업을 코드로 적어 자동화함.
클릭 수십 번이 버튼 하나로 줄어듦.

P.01엑셀 VBA · 01

VBA = 엑셀에 내장된 프로그래밍 언어

VBA는 Visual Basic for Applications의 줄임말임. 엑셀·워드·파워포인트 같은 오피스 안에 통째로 들어 있는 프로그래밍 언어임.

따로 깔 게 없음. 엑셀에서 Alt + F11을 누르면 코드를 적는 창(VB 편집기)이 바로 열림.
그 창에 코드를 적고 실행하면, 옆 시트의 셀들이 코드 시키는 대로 움직임.

엑셀을 마우스로 클릭해 쓰던 사람이라면, VBA는 그 클릭을 글로 적어두는 또 하나의 손임.
손은 하나지만 지치지 않고 똑같이 일함.

엑셀 안 · 또 하나의 작업 공간
엑셀 = 시트 + 코드
워크시트 — 마우스로 쓰던 곳
A1
A2
B1
B2
C1
C2
코드가 셀을 움직임
VB 편집기 — Alt + F11
Sub 정리()
  Range("A1").Value = 100
End Sub
한 파일 안에 시트와 코드가 같이 삶
P.02엑셀 VBA · 01

매크로 = 기록하고 실행하는 코드

매크로라는 말이 자주 나옴. 매크로는 따로 있는 마법이 아님. 한 묶음으로 저장해 둔 VBA 코드를 매크로라 부름.

엑셀에는 매크로 기록기가 있음. 기록 버튼을 누르고 평소처럼 마우스로 작업하면, 그 동작이 그대로 VBA 코드로 적힘.
기록을 멈추면 코드 한 덩어리가 생기고, 다음부턴 그 매크로를 실행만 하면 같은 작업이 반복됨.

코드 한 덩어리는 Sub 이름() ... End Sub 모양으로 묶임.
이 묶음 하나가 매크로 하나임. 2강에서 기록기로 직접 만들어 봄.

클릭을 코드로 · 코드를 다시 실행
기록 → 코드 → 재실행
기록 중인 클릭
1셀 선택
2굵게
3노랑 채우기
4가운데 정렬
저장된 매크로
Sub 강조()
  Selection.Font.Bold
  Selection.Interior
  Selection.Halign
End Sub
다음부턴▶ 매크로 실행
P.03엑셀 VBA · 01

왜 자동화하나 — 반복·실수·시간

그럼 왜 굳이 코드로 적나? 마우스로 하면 되는데. 답은 반복임.

한 번 하는 일이면 손이 더 빠름. 근데 같은 정리를 매주, 수백 행마다 해야 하면 얘기가 달라짐.
오른쪽에서 처리할 행 수를 늘려 보셈. 손작업 시간은 행 수만큼 그대로 늘고, 매크로는 거의 그대로임.

게다가 사람은 반복하면 실수함. 한 줄쯤 빠뜨리거나 잘못 붙여넣음.
매크로는 규칙대로만 움직이니 같은 실수를 안 함. 자동화는 시간뿐 아니라 정확성도 같이 가져감.

손으로 N번 vs 매크로 한 번
자동화 전후 비교 · 직접 돌려보셈
처리할 행 수200
처리 시간
손으로 N번13분 20초
매크로 한 번30.4초
누적 실수
1
손으로
0
매크로

200행 처리하면 매크로가 26 빠르고, 손으로는 실수가 1 끼어듦.

규칙을 한 번 적어두면 — 행이 늘수록 격차가 벌어짐.

P.04엑셀 VBA · 01

어디에 쓰나 — VBA의 부품들

VBA로 적는 코드는 몇 가지 부품의 조합임. 지금 다 외울 필요 없음. 이름만 눈에 익혀두면 됨.

값을 담을 땐 Dim으로 변수를 선언함.
셀을 가리킬 땐 RangeCells를 씀.
판단은 If, 반복은 For로 함.

작업을 묶어 재사용할 땐 Sub·Function으로 만들고, 버튼을 누르거나 시트가 바뀔 때 저절로 돌게 하는 건 이벤트임.
이 부품들을 3강부터 하나씩 손에 쥐어 봄.

앞으로 배울 코드 조각 미리보기
VBA 코드의 부품들
키워드하는 일
Dim변수 선언Dim n As Long
Range / Cells셀 가리키기Range("A1")
If판단If n > 0 Then
For반복For i = 1 To 10
Sub / Function작업 묶기Sub 정리()
이벤트자동 실행Worksheet_Change
P.05엑셀 VBA · 01

정리 — 반복을 코드로 넘긴다

VBA의 핵심은 한 줄로 요약됨. 사람이 반복하던 엑셀 작업을 코드로 적어 컴퓨터에 넘기는 것임.

한 번 잘 적은 매크로는 버튼 하나로 수십 번의 클릭을 대신함. 행이 많아질수록, 같은 일을 자주 할수록 이득이 커짐.

다음 2강에선 매크로 기록기를 켜고, 마우스 동작이 그대로 코드로 적히는 걸 직접 봄.
코드 한 줄 안 짜도 첫 매크로가 만들어짐.

Q. VBA의 쓸모를 한마디로 하면? (예쁜 차트 그리기 · 엑셀 반복 작업을 코드로 자동화 · 인터넷 검색 · 그림 편집)정답은 엑셀 반복 작업을 코드로 자동화임.
VBA는 엑셀 안에 든 프로그래밍 언어로, 매번 손으로 하던 일을 코드로 적어 버튼 한 번에 돌림.
시간을 줄이고 실수를 없애는 게 핵심임.
VBA가 바꾸는 하루 일과
하루 일과가 바뀜
VBA 전 · 매번

클릭 수십 번 · 매번 반복

VBA 후 · 한 번
▶ 매크로 1개

버튼 하나로 끝 · 실수 0

3줄 요약

  1. 1엑셀을 코드로 자동화 — 반복 작업을 한 번에
  2. 2VBA란은 매크로 → 변수·셀 → 조건·반복 → 폼 → 자동화 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

VBA란

엑셀을 코드로 자동화 — 반복 작업을 한 번에

매크로

기록하거나 작성해 실행하는 자동화 코드

Sub

실행 단위가 되는 프로시저