컴퓨터활용능력 1급 · 스프레드시트 일반 과목
컴퓨터활용능력 1급 매크로와 VBA 개념 정리
중요도 ★★★★☆ · 20% (추정)
AI가 새로 쓴 글 가운데, 작성과 분리된 AI 검증(다시 읽고 사실·수치 확인)을 통과한 단원만 싣습니다. 틀린 곳을 발견하면 알려 주세요.
개요
이 단원은 반복하는 엑셀 작업을 자동으로 처리하는 매크로와, 매크로의 바탕이 되는 VBA 프로그램의 기본 문법을 다룹니다. 짧은 VBA 코드를 보여 주고 실행 결과나 빈칸에 들어갈 말을 묻는 문제가 대부분입니다.
VBA 에서 Range("A1").Value 는 A1 셀의 값을 뜻하고, Cells(행, 열)은 행 번호와 열 번호로 셀을 가리킵니다. ActiveCell 은 지금 선택된 셀이고, Worksheets.Add 는 새 시트를 넣습니다. MsgBox 는 메시지 상자를 띄워 알려 주고, InputBox 는 사용자에게 값을 입력받습니다.
반복문 가운데 For ~ Next 는 정해진 횟수만큼 되풀이하고, Do While ~ Loop 는 조건이 참인 동안 되풀이합니다. 조건에 따라 다른 일을 시킬 때는 If ~ Then ~ Else ~ End If 를 씁니다. 반복문 문제는 변수 값이 한 바퀴마다 어떻게 바뀌는지 종이에 적어 가며 따라가면 실수가 줄어듭니다.
핵심 개념
Range 와 Cells
Range("A1") 은 셀 주소를 글자로 적어 셀을 가리키고, Cells(행, 열) 은 숫자로 가리킵니다. 예를 들어 Cells(2, 3) 은 2행 3열인 C2 셀입니다. 뒤에 .Value 를 붙이면 그 셀의 값입니다.
외우는 요령Cells 는 '행 먼저, 열 나중'. (2, 3) 은 C2 입니다.
For ~ Next
For i = 1 To 5 처럼 시작값과 끝값을 정해 정해진 횟수만큼 되풀이하는 반복문입니다. Step 을 붙이면 한 번에 늘어나는 크기를 바꿀 수 있습니다.
외우는 요령'횟수가 정해져 있으면 For'.
Do While ~ Loop
While 뒤의 조건이 참인 동안 계속 되풀이하는 반복문입니다. 조건이 처음부터 거짓이면 한 번도 실행하지 않습니다.
외우는 요령'While = ~하는 동안', 조건이 참일 때만 돕니다.
MsgBox 와 InputBox
MsgBox 는 화면에 메시지 상자를 띄워 내용을 알려 주고, InputBox 는 입력 상자를 띄워 사용자에게 값을 받아 옵니다.
외우는 요령'Msg = 말해 주기', 'Input = 받아 오기'.
ActiveCell 과 Worksheets.Add
ActiveCell 은 지금 선택되어 있는 셀을 가리킵니다. Worksheets.Add 는 통합 문서에 새 워크시트를 하나 추가합니다.
외우는 요령'Active = 지금 켜져 있는 것', 'Add = 더하기'.
자주 나오는 포인트
- 반복문이 끝났을 때 변수나 셀에 남는 값을 묻는 문제가 단골입니다. 한 바퀴씩 표로 적어 따라가세요.
- Cells(행, 열) 의 순서를 열, 행으로 바꿔 생각하는 실수를 조심하세요.
- 값을 입력받는 것은 InputBox, 알려 주기만 하는 것은 MsgBox 입니다.
- Do While 은 조건이 참인 동안 돈다는 점을 기억하세요.
헷갈리는 것 비교: For ~ Next 와 Do While ~ Loop
| 구분 | For ~ Next | Do While ~ Loop |
|---|---|---|
| 반복 기준 | 정해진 횟수 | 조건이 참인 동안 |
| 쓰는 때 | 몇 번 돌지 알 때 | 언제 멈출지 조건으로 정할 때 |
| 예 | For i = 1 To 10 … Next | Do While i < 10 … Loop |
대표 문제 3개
검수를 마친 예상문제 가운데 이 단원의 대표 문제입니다.
문제 1. 엑셀에서 매크로를 기록할 때 바로 가기 키로 영문 소문자를 지정하면, 그 글자와 함께 누르는 키는?
- ① Alt
- ② Shift
- ③ Tab
- ④ Ctrl
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ④ Ctrl
핵심: 매크로 바로 가기 키: Ctrl + 영문자
매크로의 바로 가기 키는 기본적으로 Ctrl + 영문 소문자 로 지정됩니다. 대문자를 지정하면 Ctrl + Shift + 글자가 됩니다.
틀린 선지
- ① Alt: 매크로 바로 가기 키에 쓰는 키가 아닙니다. Alt + F8 은 매크로 대화 상자를 여는 키입니다.
- ② Shift: 대문자를 지정했을 때 Ctrl 과 함께 더 누르는 키입니다.
- ③ Tab: 매크로 바로 가기 키에 쓰는 키가 아닙니다.
문제 2. VBA 에서 사용자에게 메시지를 대화 상자로 보여 주는 함수는?
- ① InputBox
- ② MsgBox
- ③ Range
- ④ Debug.Print
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ② MsgBox
핵심: MsgBox는 메시지 표시, InputBox는 값 입력받기
MsgBox 는 메시지 상자를 띄워 글을 보여 줍니다.
틀린 선지
- ① InputBox: 사용자에게 값을 입력받는 상자를 띄웁니다.
- ③ Range: 셀이나 셀 범위를 가리키는 개체입니다.
- ④ Debug.Print: 직접 실행 창에 값을 찍어 보는 명령입니다.
문제 3. 다음 VBA 코드를 실행했을 때 메시지 상자에 표시되는 값은? Dim i As Integer, s As Integer s = 0 For i = 1 To 5 s = s + i Next i MsgBox s
- ① 5
- ② 10
- ③ 15
- ④ 6
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ③ 15
핵심: For i = 1 To 5: i가 1부터 5까지 바뀌며 5번 반복한다
s 에 i 를 계속 더해 갑니다.
- i = 1 → s = 1
- i = 2 → s = 3
- i = 3 → s = 6
- i = 4 → s = 10
- i = 5 → s = 15
검산: 1 + 2 + 3 + 4 + 5 = 15
틀린 선지
- ① 5: 반복 횟수입니다.
- ② 10: 4까지만 더한 값입니다.
- ④ 6: 반복이 끝난 뒤의 i 값입니다.