자격증/컴퓨터활용능력 1급

컴활 1급 VBA·매크로 정리, 시험 빈출 패턴 4가지

공감(공부하는감자) 2026. 7. 7. 12:16

컴활 1급 VBA·매크로 정리, 시험 빈출 패턴 4가지

안녕하세요, 공부하는 감자입니다 🥔

컴활 1급 실기에서 "VBA는 그냥 버릴게요"라는 분을 정말 많이 봤어요. 기타작업 배점이 약 20점이고 그 안에서 매크로·VBA가 차트와 함께 큰 비중인데, 코딩이라는 단어에 겁먹고 시작도 안 하는 거죠.

그런데 2024년 개편 이후 VBA 비중이 소폭 올라서, 아예 안 보고 가면 합격선 70점 넘기기가 빠듯합니다. 그래서 컴활 1급 VBA에서 실제로 나오는 빈출 4패턴만 추려, 문법부터 기출 코드 해석까지 한 번에 정리했어요.

좋은 소식은 시험 VBA가 프로그래밍이 아니라 패턴 암기라는 거예요. 정해진 틀의 약간 변형이 나올 뿐입니다.

포기하는 사람이 많아서 오히려 점수 따기 좋은 영역이에요.

문법은 4개가 전부입니다

1. 셀 읽고 쓰기

Range("A1").Value = 10        ' A1에 10 입력
Cells(1, 1).Value = 10        ' 같은 의미 — Cells(행, 열)
x = Range("B2").Value         ' B2 값을 변수에 저장

Range는 "A1"처럼 문자로, Cells는 숫자 (행, 열)로 지정합니다. Cells(2, 3)은 C2예요.

행이 먼저라는 걸 헷갈리면 안 됩니다. 그리고 Range(A1)처럼 따옴표를 빠뜨리면 오류 — 문자열이니까 꼭 ""로 감싸세요.

2. 변수 선언Dim 변수명 As 타입 구조. 타입은 Integer(정수), String(문자), Double(실수), Boolean(참/거짓).

3. For 반복문

Dim i As Integer
For i = 1 To 10
    Cells(i, 1).Value = i
Next i

i가 1부터 10까지 돌면서 A1~A10에 값을 넣는 코드. Step 2를 붙이면 2씩 증가, For i = 10 To 1 Step -1이면 역순입니다.

4. If 조건문If 조건 Then ~ Else ~ End If. ElseIf로 분기를 늘릴 수 있어요.

이 4개가 조합된 기출 패턴

조건 만족 셀에 서식을 입히는 패턴이 대표적입니다. "80점 이상이면 빨간색 채우기" 같은 식이죠.

Sub PaintCell()
    Dim i As Integer
    For i = 2 To 16
        If Cells(i, 4).Value >= 80 Then
            Cells(i, 4).Interior.Color = vbRed
        End If
    Next i
End Sub

배경색은 .Interior.Color, 글자색은 .Font.Color, 굵게는 .Font.Bold = True. RGB(255, 200, 200)처럼 직접 지정하는 형태도 나옵니다.

합계 패턴은 For로 돌면서 total = total + Cells(i, 2).Value로 누적한 뒤 결과 셀에 넣는 구조고, 정렬 매크로는 보통 코드를 주고 읽기 문제로 나와요.

Range("A1:D15").Sort Key1:=Range("C1"), Order1:=xlAscending, Header:=xlYes

"Key1은 어느 열 기준인가?" 같은 식으로요. 직접 짜라는 게 아니라 해석하라는 문제라서, 기출 코드 10개 정도를 반복해서 읽고 써보는 게 가장 빠른 대비입니다.

저는 손이 좀 풀린 뒤에 문어CBT에서 필기 모의고사의 매크로 관련 문항으로 개념이 맞게 잡혔는지 확인했는데, 무료라 부담 없이 점검하기 좋았어요.

 

SQLD·정처기·컴활·ADsP 무료 CBT 모의고사

기출 변형 문제, 자동 채점, 회차별 실력 추적까지 가입 없이 바로 풀어보세요.

sqldpass.com

단답으로 나오는 주변 지식

Sub vs Function — Sub는 작업만 수행하고 값을 반환하지 않으며 매크로가 곧 Sub입니다. Function은 값을 반환하는 사용자 정의 함수예요.

Function MyAdd(a As Integer, b As Integer) As Integer
    MyAdd = a + b
End Function

이렇게 만들면 워크시트에서 =MyAdd(3, 5)로 쓸 수 있습니다.

매크로 보안 4단계 — 모든 매크로 사용(위험) / 알림 후 사용 안 함(엑셀 기본값) / 서명된 매크로만 / 모든 매크로 사용 안 함(가장 안전). 설정 이름과 의미를 매칭하는 문제로 출제됩니다.

실행 방법 3가지 — 바로 가기 키(Ctrl+지정 키), 개발 도구 탭 → 매크로 → 실행, 버튼(양식 컨트롤)에 연결.

시험장에서 점수 깎이는 지점

  • 저장을 .xlsx로 하면 매크로가 삭제됩니다. 반드시 .xlsm으로
  • 매크로 이름·버튼 위치 같은 문제 조건을 안 지키면 감점
  • Cells 인수 순서가 헷갈리면 그냥 Range("A1") 방식을 쓰는 게 안전
  • 중첩 For문에선 Next 뒤에 변수명을 명시하는 게 안전
  • 변수는 습관적으로 Dim 선언

빈칸 채우기 문제가 나와도 복잡한 로직은 절대 아니에요. 기본 문법 안에서만 생각하면 됩니다.

VBA는 완벽한 이해가 아니라 패턴 매칭의 영역이에요.

20점 중 기본 점수만 챙겨도 합격이 한결 가까워집니다. 실기 전체 배점을 어디서 어떻게 채울지는 컴활 1급 실기 70점 전략에서 엑셀·액세스 영역까지 묶어 정리해 뒀어요.

자주 묻는 질문

Q. 컴활 1급 VBA, 아예 버리고 다른 영역에서 점수를 채우면 안 되나요?

기타작업 20점을 통째로 비우면 나머지 80점에서 70점 이상, 즉 정답률 88%를 넘겨야 합니다. 계산작업 실수 한두 개만 나와도 흔들리는 구간이라, VBA 기본 패턴만 챙겨 안전판을 만드는 편이 훨씬 수월해요.

Q. 매크로랑 VBA는 다른 걸 물어보는 건가요?

매크로는 엑셀 동작을 기록해 자동화하는 기능이고, VBA는 그 매크로가 실제로 어떤 코드로 돼 있는지 읽고 빈칸을 채우는 영역이에요. 시험에서는 둘 다 기타작업에서 함께 출제되니 세트로 봐 두는 게 좋습니다.

함께 보면 좋은 글