Ch.3 데이터 관리 & 분석
매크로 & VBA 기초 심화
VBA 코드 3줄만 읽으면 10점 가져간다
필기 시험지에 VBA 코드가 나왔는데, 코드를 한 줄도 못 읽으면 5문제를 버리는 상황
VBA를 '프로그래밍'으로 겁먹으면 쉬운 점수를 놓칩니다
VBA 코드 읽기는 패턴만 알면 풀 수 있는 고정 출제 영역입니다
핵심 내용
VBA 편집기는 Alt+F11로 열 수 있습니다. VBA 코드는 모듈(Module) 안에 작성하며, 실행 단위는 Sub 프로시저입니다.
[VBA 프로시저 기본 구조]
Sub 매크로이름()
' 여기에 실행할 코드 작성
' 작은따옴표(') = 주석 (실행 안 됨)
End Sub
[VBA 편집기 구성]
프로젝트 탐색기: 모듈/시트/폼 목록
속성 창: 선택한 개체의 속성
코드 창: VBA 코드 편집 영역
즉시 창: 디버깅용 (Ctrl+G)Alt+F11 = VBA 편집기 열기, Alt+F8 = 매크로 실행 대화상자. 이 두 단축키는 반드시 구분!
MsgBox는 메시지를 화면에 표시하고, InputBox는 사용자에게 값을 입력받습니다. 시험에서는 MsgBox에 전달되는 값(수식 결과)을 추론하는 문제가 출제됩니다.
[MsgBox — 메시지 출력]
MsgBox "합계: " & Sum ' → 대화상자에 "합계: 150" 표시
MsgBox 10 + 20 ' → 대화상자에 "30" 표시
[InputBox — 사용자 입력]
name = InputBox("이름을 입력하세요")
' → 입력 대화상자 표시
' → 입력한 값이 name 변수에 저장
[& 연산자 — 문자열 연결]
"결과: " & 100 ' → "결과: 100"& 연산자는 문자열을 연결합니다. 숫자와 문자를 합칠 때 사용. +는 숫자 덧셈, &는 문자열 이어 붙이기.
VBA에서 셀을 지정하는 방법은 Range와 Cells 두 가지입니다. 시험에서 이 둘의 차이를 묻는 문제가 자주 출제됩니다.
Cells(2, 3) = 2행 3열 = C2. 행이 먼저! Range("C2")와 같은 셀입니다. 시험에서 Cells(행, 열) 순서를 바꿔 혼동시킵니다.
VBA의 제어 구문 3가지입니다. 코드 읽기 문제에서 이 구문이 포함된 코드의 결과값을 묻습니다.
[If-Then-Else — 조건 분기]
If score >= 60 Then
result = "합격"
Else
result = "불합격"
End If
[For-Next — 반복]
Sum = 0
For i = 1 To 5
Sum = Sum + Cells(i, 1).Value
Next i
' → A1~A5의 값을 합산
[With-End With — 같은 개체 반복 생략]
With Range("A1")
.Value = "합계"
.Font.Bold = True
.Interior.Color = vbYellow
End With
' → Range("A1")을 3번 쓰는 대신 With로 묶음For i = 1 To 5: i가 1, 2, 3, 4, 5로 바뀌며 5번 반복. With: 점(.)으로 시작하는 줄은 모두 With 뒤의 개체에 대한 명령입니다.
VBA에서 Cells(3, 2).Value = "합격"이 의미하는 것은?
다음 코드의 실행 결과로 MsgBox에 표시되는 값은? Sum = 0 For i = 1 To 3 Sum = Sum + i * 2 Next i MsgBox Sum
VBA에서 Range와 Cells의 차이로 올바른 것은?
If x > 10 Then result = "A" Else result = "B" End If x = 7일 때 result의 값은?
매크로가 포함된 파일을 저장할 때 올바른 형식은?
VBA에서 With 구문 안의 .Font.Bold = True에서 점(.)은 With 뒤에 지정한 개체를 가리킨다.
매크로 보안 기본 설정은 '모든 매크로 포함'이다.
VBA에서 Cells(2, 3)은 B3 셀을 의미한다.
VBA 편집기를 여는 단축키는 ______이다.
핵심 정리
- 1VBA 편집기: Alt+F11, 매크로 실행: Alt+F8 — 반드시 구분
- 2프로시저 구조: Sub 이름() ~ End Sub, 주석은 작은따옴표(')
- 3Range("A1") = 셀 주소로 지정, Cells(행, 열) = 번호로 지정 — Cells(2,3) = C2
- 4MsgBox = 출력, InputBox = 입력, & = 문자열 연결
- 5For i = 1 To n: 반복, If-Then-Else: 조건 분기, With: 개체 반복 생략
- 6매크로 보안 기본값: 알림을 포함하여 모든 매크로 제한, 저장: .xlsm 필수
퀴즈와 인터랙션으로 더 깊이 학습하세요
play_circle인터랙티브 레슨 시작