오늘 끝나면
VBA란
- ✓VBA란의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 VBA란이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
엑셀을 코드로 자동화 — 반복 작업을 한 번에 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
엑셀 VBA · 01
VBA란
무엇인가
VBA는 엑셀 안에 든 프로그래밍 언어임.
매번 손으로 하던 반복 작업을 코드로 적어 자동화함.
클릭 수십 번이 버튼 하나로 줄어듦.
VBA = 엑셀에 내장된 프로그래밍 언어
VBA는 Visual Basic for Applications의 줄임말임. 엑셀·워드·파워포인트 같은 오피스 안에 통째로 들어 있는 프로그래밍 언어임.
따로 깔 게 없음. 엑셀에서 Alt + F11을 누르면 코드를 적는 창(VB 편집기)이 바로 열림.
그 창에 코드를 적고 실행하면, 옆 시트의 셀들이 코드 시키는 대로 움직임.
엑셀을 마우스로 클릭해 쓰던 사람이라면, VBA는 그 클릭을 글로 적어두는 또 하나의 손임.
손은 하나지만 지치지 않고 똑같이 일함.
Sub 정리()
Range("A1").Value = 100
End Sub매크로 = 기록하고 실행하는 코드
매크로라는 말이 자주 나옴. 매크로는 따로 있는 마법이 아님. 한 묶음으로 저장해 둔 VBA 코드를 매크로라 부름.
엑셀에는 매크로 기록기가 있음. 기록 버튼을 누르고 평소처럼 마우스로 작업하면, 그 동작이 그대로 VBA 코드로 적힘.
기록을 멈추면 코드 한 덩어리가 생기고, 다음부턴 그 매크로를 실행만 하면 같은 작업이 반복됨.
코드 한 덩어리는 Sub 이름() ... End Sub 모양으로 묶임.
이 묶음 하나가 매크로 하나임. 2강에서 기록기로 직접 만들어 봄.
Sub 강조() Selection.Font.Bold Selection.Interior Selection.Halign End Sub
왜 자동화하나 — 반복·실수·시간
그럼 왜 굳이 코드로 적나? 마우스로 하면 되는데. 답은 반복임.
한 번 하는 일이면 손이 더 빠름. 근데 같은 정리를 매주, 수백 행마다 해야 하면 얘기가 달라짐.
오른쪽에서 처리할 행 수를 늘려 보셈. 손작업 시간은 행 수만큼 그대로 늘고, 매크로는 거의 그대로임.
게다가 사람은 반복하면 실수함. 한 줄쯤 빠뜨리거나 잘못 붙여넣음.
매크로는 규칙대로만 움직이니 같은 실수를 안 함. 자동화는 시간뿐 아니라 정확성도 같이 가져감.
200행 처리하면 매크로가 26배 빠르고, 손으로는 실수가 1건 끼어듦.
규칙을 한 번 적어두면 — 행이 늘수록 격차가 벌어짐.
어디에 쓰나 — VBA의 부품들
VBA로 적는 코드는 몇 가지 부품의 조합임. 지금 다 외울 필요 없음. 이름만 눈에 익혀두면 됨.
값을 담을 땐 Dim으로 변수를 선언함.
셀을 가리킬 땐 Range나 Cells를 씀.
판단은 If, 반복은 For로 함.
작업을 묶어 재사용할 땐 Sub·Function으로 만들고, 버튼을 누르거나 시트가 바뀔 때 저절로 돌게 하는 건 이벤트임.
이 부품들을 3강부터 하나씩 손에 쥐어 봄.
| 키워드 | 하는 일 |
|---|---|
| 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 |
정리 — 반복을 코드로 넘긴다
VBA의 핵심은 한 줄로 요약됨. 사람이 반복하던 엑셀 작업을 코드로 적어 컴퓨터에 넘기는 것임.
한 번 잘 적은 매크로는 버튼 하나로 수십 번의 클릭을 대신함. 행이 많아질수록, 같은 일을 자주 할수록 이득이 커짐.
다음 2강에선 매크로 기록기를 켜고, 마우스 동작이 그대로 코드로 적히는 걸 직접 봄.
코드 한 줄 안 짜도 첫 매크로가 만들어짐.
Q. VBA의 쓸모를 한마디로 하면? (예쁜 차트 그리기 · 엑셀 반복 작업을 코드로 자동화 · 인터넷 검색 · 그림 편집)
정답은 엑셀 반복 작업을 코드로 자동화임.VBA는 엑셀 안에 든 프로그래밍 언어로, 매번 손으로 하던 일을 코드로 적어 버튼 한 번에 돌림.
시간을 줄이고 실수를 없애는 게 핵심임.
클릭 수십 번 · 매번 반복
버튼 하나로 끝 · 실수 0