오늘 끝나면
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 모양으로 묶인다.
이 묶음 하나가 매크로 하나다.
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의 핵심은 한 줄로 요약된다. 사람이 반복하던 엑셀 작업을 코드로 적어 컴퓨터에 넘기는 것이다.
한 번 잘 적은 매크로는 버튼 하나로 수십 번의 클릭을 대신한다. 행이 많아질수록, 같은 일을 자주 할수록 이득이 커진다.
Q. VBA의 쓸모를 한마디로 하면? (예쁜 차트 그리기 · 엑셀 반복 작업을 코드로 자동화 · 인터넷 검색 · 그림 편집)
정답은 엑셀 반복 작업을 코드로 자동화다.VBA는 엑셀 안에 든 프로그래밍 언어로, 매번 손으로 하던 일을 코드로 적어 버튼 한 번에 돌린다.
시간을 줄이고 실수를 없애는 게 핵심이다.
클릭 수십 번 · 매번 반복
버튼 하나로 끝 · 실수 0