13차시 연계 · 2과목 스프레드시트 일반

컴활 1급 필기 매크로·VBA 문제 모음

매크로 기록 규칙(이름·바로 가기 키·저장 위치), 상대 참조 기록, 모듈·프로시저, For·Do 반복문, MsgBox, Workbook·Worksheet·Range 개체 범위 문제 23개를 모았습니다. 실전 모의고사 문제 18개를 먼저, 이어서 13차시 확인문제 5개를 보여 줍니다.

2급 기출로 기초 다지기

같은 범위의 2급 기출문제를 먼저 풀면 1급 문제가 쉬워집니다.

스프레드시트 일반2020년 2회 (7월 4일)

Q1.아래 그림과 같이 설정한 상태에서 [매크로 기록] 대화상자의 [확인] 단추를 누른다. [A2:A6] 범위를 선택한 후 글꼴 스타일을 굵게 지정하고 [기록 중지]를 눌러 '서식' 매크로의 작성을 완료하였다. 다음 중 매크로 작성 후 [C1] 셀을 선택하고 '서식' 매크로를 실행한 결과로 옳은 것은? (그림에서 [상대 참조로 기록]이 선택되어 있음)

문제 자료
  1. ①[A2:A6] 영역의 글꼴 스타일이 굵게 지정된다.
  2. ②[A1] 셀만 글꼴 스타일이 굵게 지정된다.
  3. ③[C2:C6] 영역의 글꼴 스타일이 굵게 지정된다.
  4. ④[C1] 셀만 글꼴 스타일이 굵게 지정된다.
정답과 해설 보기

정답: ③ [C2:C6] 영역의 글꼴 스타일이 굵게 지정된다.

[상대 참조로 기록]을 켜고 [A1]에서 시작해 한 칸 아래부터 다섯 셀(A2:A6)을 선택했으므로, 매크로는 '현재 셀 기준 한 칸 아래부터 다섯 셀'로 기록됩니다. [C1]에서 실행하면 [C2:C6]이 굵게 지정됩니다.

출제: 2020년 2회 (7월 4일) 22번

스프레드시트 일반2020년 2회 (7월 4일)

Q2.다음 중 매크로 편집 및 삭제에 대한 설명으로 옳지 않은 것은?

  1. ①[매크로] 대화상자에서 편집할 매크로를 선택하고 [편집] 단추를 클릭하면 Visual Basic 편집기를 실행할 수 있다.
  2. ②<Alt> + <F8> 키를 눌러 Visual Basic 편집기를 실행하면 매크로를 수정할 수 있다.
  3. ③PERSONAL.XLSB 파일을 삭제하면 통합 문서에 있는 모든 매크로를 삭제할 수 있다.
  4. ④Visual Basic 편집기에서 삭제할 매크로의 코딩 부분을 범위로 지정한 뒤 <Delete> 키를 눌러 여러 매크로를 한 번에 삭제할 수 있다.
정답과 해설 보기

정답: ② <Alt> + <F8> 키를 눌러 Visual Basic 편집기를 실행하면 매크로를 수정할 수 있다.

<Alt>+<F8>은 [매크로] 대화상자를 엽니다. Visual Basic 편집기를 바로 여는 키는 <Alt>+<F11>입니다.

출제: 2020년 2회 (7월 4일) 31번

스프레드시트 일반2020년 1회 (2월 29일)

Q3.다음 중 [개발 도구] 탭의 [컨트롤] 그룹에 대한 설명으로 옳지 않은 것은?

  1. ①컨트롤 종류에는 텍스트 상자, 목록 상자, 옵션 단추, 명령 단추 등이 있다.
  2. ②ActiveX 컨트롤은 양식 컨트롤 보다 다양한 이벤트에 반응할 수 있지만, 양식 컨트롤보다 호환성은 낮다.
  3. ③[디자인 모드] 상태에서는 양식 컨트롤과 ActiveX 컨트롤 모두 매크로 등 정해진 동작은 실행하지 않지만 컨트롤의 선택, 크기 조절, 이동 등의 작업을 할 수 있다.
  4. ④양식 컨트롤의 '단추(양식 컨트롤)'를 클릭하거나 드래그해서 추가하면 [매크로 지정] 대화상자가 자동으로 표시된다.
정답과 해설 보기

정답: ③ [디자인 모드] 상태에서는 양식 컨트롤과 ActiveX 컨트롤 모두 매크로 등 정해진 동작은 실행하지 않지만 컨트롤의 선택, 크기 조절, 이동 등의 작업을 할 수 있다.

[디자인 모드]는 ActiveX 컨트롤에만 해당합니다. 디자인 모드에서는 ActiveX 컨트롤이 동작하지 않지만, 양식 컨트롤은 디자인 모드와 관계없이 지정된 매크로를 실행합니다.

출제: 2020년 1회 (2월 29일) 30번

스프레드시트 일반2020년 1회 (2월 29일)

Q4.다음 중 아래의 프로시저가 실행된 후 [A1] 셀에 입력되는 값으로 옳은 것은?

Sub 예제( )
  Test = 0
  Do Until Test > 10
    Test = Test + 1
  Loop
  Range("A1").Value = Test
End Sub
  1. ①10
  2. ②11
  3. ③0
  4. ④55
정답과 해설 보기

정답: ② 11

Do Until 조건 ~ Loop는 조건이 참이 될 때까지 반복합니다. Test가 0부터 1씩 증가하다가 11이 되는 순간 'Test > 10'이 참이 되어 반복을 끝내므로 [A1]에는 11이 입력됩니다.

출제: 2020년 1회 (2월 29일) 31번

스프레드시트 일반상시 경향 모의고사 1회

Q5.다음 VBA 코드를 실행했을 때 메시지 상자에 표시되는 값은?

Sub 계산()
  Dim i As Integer, s As Integer
  s = 0
  For i = 2 To 12 Step 2
    If i Mod 3 = 0 Then
      s = s + i
    Else
      s = s - 1
    End If
  Next i
  MsgBox s
End Sub
  1. ①14
  2. ②18
  3. ③16
  4. ④12
정답과 해설 보기

정답: ① 14

i는 2, 4, 6, 8, 10, 12입니다. 3의 배수인 6과 12는 더하고(+18) 나머지 네 번은 1씩 빼므로(-4) s = 14입니다.

출제: 상시 경향 모의고사 1회 24번

스프레드시트 일반상시 경향 모의고사 1회

Q6.빈 워크시트에서 다음 VBA 코드를 실행했을 때 [B1] 셀에 표시되는 값은?

Sub 채우기()
  Dim i As Integer
  For i = 5 To 1 Step -1
    If i Mod 2 = 1 Then
      Cells(i, 1).Value = i * i
    Else
      Cells(i, 1).Value = 0
    End If
  Next i
  Range("B1").Formula = "=SUM(A1:A5)"
End Sub
  1. ①20
  2. ②55
  3. ③35
  4. ④9
정답과 해설 보기

정답: ③ 35

i가 홀수(5, 3, 1)일 때만 제곱값 25, 9, 1이 입력되고 짝수 행에는 0이 입력되므로 합계는 35입니다. 20은 짝수의 제곱(16+4)만 더한 값입니다.

출제: 상시 경향 모의고사 1회 25번

스프레드시트 일반상시 경향 모의고사 1회

Q7.Excel의 매크로 기록에 대한 설명으로 옳지 않은 것은?

  1. ①매크로 이름의 첫 글자는 문자여야 하며 이름에 공백을 사용할 수 없다.
  2. ②바로 가기 키에 대문자를 지정하면 Ctrl+Shift+문자 조합으로 설정된다.
  3. ③매크로 기록 중 셀을 선택하면 기본적으로 상대 참조로 기록된다.
  4. ④'개인용 매크로 통합 문서'에 저장한 매크로는 Excel을 실행할 때마다 모든 통합 문서에서 사용할 수 있다.
정답과 해설 보기

정답: ③ 매크로 기록 중 셀을 선택하면 기본적으로 상대 참조로 기록된다.

매크로는 기본적으로 절대 참조로 기록되며, [상대 참조로 기록]을 선택해야 상대 참조로 기록됩니다.

출제: 상시 경향 모의고사 1회 34번

스프레드시트 일반상시 경향 모의고사 2회

Q8.다음 VBA 프로시저를 실행했을 때 메시지 상자에 표시되는 값은?

Sub 계산()
  Dim i As Integer, s As Integer
  s = 0
  For i = 1 To 10 Step 3
    If i Mod 2 = 0 Then
      s = s + i
    Else
      s = s - 1
    End If
  Next i
  MsgBox s
End Sub
  1. ①10
  2. ②12
  3. ③14
  4. ④22
정답과 해설 보기

정답: ② 12

i는 1, 4, 7, 10 순으로 변합니다. i=1(홀수) s=-1, i=4(짝수) s=3, i=7(홀수) s=2, i=10(짝수) s=12가 되어 12가 표시됩니다. 홀수일 때 1을 빼는 것을 빠뜨리면 ③을 고르게 됩니다.

출제: 상시 경향 모의고사 2회 24번

스프레드시트 일반상시 경향 모의고사 2회

Q9.엑셀의 매크로 기록에 대한 설명으로 옳지 않은 것은?

  1. ①매크로 기록 중에 수행한 셀 선택, 서식 지정 등의 작업은 VBA 코드로 저장된다.
  2. ②매크로 이름의 첫 글자는 문자여야 하며 이름에 공백을 사용할 수 없다.
  3. ③'상대 참조로 기록'을 선택하지 않고(절대 참조) 기록한 매크로는 실행할 때 현재 선택된 셀을 기준으로 상대적인 위치에서 작업이 수행된다.
  4. ④기록한 매크로는 Visual Basic Editor에서 코드를 확인하고 수정할 수 있다.
정답과 해설 보기

정답: ③ '상대 참조로 기록'을 선택하지 않고(절대 참조) 기록한 매크로는 실행할 때 현재 선택된 셀을 기준으로 상대적인 위치에서 작업이 수행된다.

기본(절대 참조)으로 기록한 매크로는 실행 위치와 관계없이 기록할 때와 같은 셀에서 작업합니다. 현재 셀을 기준으로 동작하게 하려면 '상대 참조로 기록'을 선택한 뒤 기록해야 합니다.

출제: 상시 경향 모의고사 2회 34번

스프레드시트 일반상시 경향 모의고사 3회

Q10.다음 VBA 프로시저를 실행했을 때 메시지 상자에 표시되는 값은?

Sub 합계()
  Dim n As Integer, s As Integer
  n = 1
  Do While n <= 20
    s = s + n
    n = n * 2
  Loop
  MsgBox s
End Sub
  1. ①15
  2. ②30
  3. ③31
  4. ④63
정답과 해설 보기

정답: ③ 31

n은 1, 2, 4, 8, 16으로 두 배씩 커지며 s에 더해집니다(1+2+4+8+16 = 31). n이 32가 되면 n <= 20이 거짓이 되어 반복이 끝나므로 32는 더해지지 않습니다.

출제: 상시 경향 모의고사 3회 24번

스프레드시트 일반상시 경향 모의고사 3회

Q11.Excel의 매크로 기록과 저장에 대한 설명으로 옳지 않은 것은?

  1. ①'상대 참조로 기록'을 선택하고 기록하면 셀 이동이 상대적인 위치로 기록된다.
  2. ②매크로 이름에는 공백을 포함할 수 없고 숫자로 시작할 수 없다.
  3. ③'개인용 매크로 통합 문서'에 저장한 매크로는 그 매크로를 기록한 통합 문서를 닫으면 사용할 수 없다.
  4. ④매크로를 포함한 통합 문서는 Excel 매크로 사용 통합 문서(*.xlsm) 형식으로 저장해야 매크로가 유지된다.
정답과 해설 보기

정답: ③ '개인용 매크로 통합 문서'에 저장한 매크로는 그 매크로를 기록한 통합 문서를 닫으면 사용할 수 없다.

개인용 매크로 통합 문서(PERSONAL.XLSB)에 저장한 매크로는 Excel을 실행할 때마다 열리므로 모든 통합 문서에서 사용할 수 있습니다.

출제: 상시 경향 모의고사 3회 34번

스프레드시트 일반상시 경향 모의고사 4회

Q12.다음 VBA 프로시저를 실행했을 때 메시지 상자에 표시되는 값은?

Sub 세기()
  Dim i As Integer, j As Integer, c As Integer
  For i = 1 To 3
    For j = i To 3
      c = c + 1
    Next j
  Next i
  MsgBox c
End Sub
  1. ①3
  2. ②5
  3. ③9
  4. ④6
정답과 해설 보기

정답: ④ 6

안쪽 반복은 j가 i부터 3까지 돕니다. i=1일 때 3번, i=2일 때 2번, i=3일 때 1번 실행되므로 c = 3+2+1 = 6입니다. 안쪽 반복도 1부터 시작한다고 생각하면 9를 고르게 됩니다.

출제: 상시 경향 모의고사 4회 24번

스프레드시트 일반상시 경향 모의고사 4회

Q13.다음 중 Excel의 매크로 기록에 관한 설명으로 옳지 않은 것은?

  1. ①매크로 이름의 첫 글자는 반드시 문자여야 하며 이름에 공백을 포함할 수 없다.
  2. ②바로 가기 키는 Ctrl과 함께 누를 영문자나 숫자로 지정할 수 있다.
  3. ③바로 가기 키에 영문 대문자를 지정하면 Ctrl+Shift+해당 문자 조합이 된다.
  4. ④'개인용 매크로 통합 문서'에 저장한 매크로는 Excel을 실행할 때마다 모든 통합 문서에서 사용할 수 있다.
정답과 해설 보기

정답: ② 바로 가기 키는 Ctrl과 함께 누를 영문자나 숫자로 지정할 수 있다.

매크로 바로 가기 키에는 영문자만 지정할 수 있으며 숫자나 특수 문자는 사용할 수 없습니다.

출제: 상시 경향 모의고사 4회 34번

스프레드시트 일반상시 경향 모의고사 5회

Q14.다음 VBA 프로시저를 실행했을 때 메시지 상자에 표시되는 값은?

Sub 뒤집기()
  Dim s As String, r As String, i As Integer
  s = "EXCEL"
  For i = Len(s) To 1 Step -1
    r = r & Mid(s, i, 1)
  Next i
  MsgBox r
End Sub
  1. ①EXCEL
  2. ②LECXE
  3. ③L
  4. ④LEXCE
정답과 해설 보기

정답: ② LECXE

i가 Len(s)=5부터 1까지 1씩 줄어들며 Mid(s, i, 1)로 한 글자씩 꺼내 r 뒤에 붙이므로, 문자열이 거꾸로 된 'LECXE'가 표시됩니다.

출제: 상시 경향 모의고사 5회 23번

스프레드시트 일반상시 경향 모의고사 5회

Q15.빈 워크시트에서 다음 VBA 프로시저를 실행한 후 [B3] 셀과 [D4] 셀에 표시되는 값을 차례대로 나열한 것은?

Sub 채우기()
  Dim r As Integer
  For r = 1 To 4
    Cells(r, r).Value = r * 2
  Next r
  Range("A1").Offset(2, 1).Value = "X"
End Sub
  1. ①X, 8
  2. ②6, 8
  3. ③빈 셀, 8
  4. ④X, 4
정답과 해설 보기

정답: ① X, 8

Cells(r, r)은 A1, B2, C3, D4에 2, 4, 6, 8을 입력하므로 D4는 8입니다. Range("A1").Offset(2, 1)은 A1에서 아래로 2행, 오른쪽으로 1열 이동한 B3이므로 B3에는 "X"가 입력됩니다.

출제: 상시 경향 모의고사 5회 24번

스프레드시트 일반실전 모의고사 1회

Q16.다음 VBA 코드를 실행한 후 변수 n의 값은? n = 0 Do While n < 10 n = n + 3 Loop

  1. ①9
  2. ②10
  3. ③12
  4. ④15
정답과 해설 보기

정답: ③ 12

n은 3, 6, 9로 증가하고 9<10이므로 한 번 더 실행되어 12가 된 뒤 조건이 거짓이 되어 반복이 끝납니다.

출제: 실전 모의고사 1회 40번

스프레드시트 일반실전 모의고사 2회

Q17.엑셀의 매크로에 대한 설명으로 옳지 않은 것은?

  1. ①매크로 바로 가기 키에는 영문자만 사용할 수 있다.
  2. ②매크로가 포함된 통합 문서는 .xlsm 형식으로 저장한다.
  3. ③PERSONAL.XLSB에 저장한 매크로는 모든 통합 문서에서 사용할 수 있다.
  4. ④매크로에 지정한 바로 가기 키보다 엑셀 기본 바로 가기 키가 우선 적용된다.
정답과 해설 보기

정답: ④ 매크로에 지정한 바로 가기 키보다 엑셀 기본 바로 가기 키가 우선 적용된다.

매크로에 지정한 바로 가기 키가 엑셀의 기본 바로 가기 키보다 우선합니다.

출제: 실전 모의고사 2회 40번

스프레드시트 일반실전 모의고사 3회

Q18.다음 VBA 코드를 실행했을 때 [B3] 셀에 입력되는 값은? For i = 1 To 3 Cells(i, 2).Value = i * 10 Next i

  1. ①3
  2. ②10
  3. ③30
  4. ④비어 있음
정답과 해설 보기

정답: ③ 30

Cells(행, 열)이므로 Cells(3,2)는 B3이고, i=3일 때 30이 입력됩니다.

출제: 실전 모의고사 3회 40번

스프레드시트 일반차시 확인문제

Q19.엑셀의 매크로 기록에 대한 설명으로 옳지 않은 것은?

  1. ①매크로 이름의 첫 글자는 반드시 문자여야 한다.
  2. ②바로 가기 키에 대문자를 입력하면 Ctrl + Shift 조합으로 지정된다.
  3. ③매크로 이름에는 공백을 사용할 수 있다.
  4. ④개인용 매크로 통합 문서에 저장한 매크로는 모든 통합 문서에서 사용할 수 있다.
정답과 해설 보기

정답: ③ 매크로 이름에는 공백을 사용할 수 있다.

매크로 이름에는 공백과 / ? ' . - 같은 기호를 사용할 수 없습니다. 단어를 구분하려면 밑줄(_)을 씁니다.

출처: 13차시 확인문제 1번

스프레드시트 일반차시 확인문제

Q20.다음 VBA 코드를 실행했을 때 메시지 상자에 표시되는 값은?
Dim i, s
For i = 2 To 10 Step 3
    s = s + i
Next i
MsgBox s

  1. ①15
  2. ②18
  3. ③21
  4. ④54
정답과 해설 보기

정답: ① 15

i는 2, 5, 8일 때 실행되므로(11은 10을 넘어 종료) s = 2 + 5 + 8 = 15입니다.

출처: 13차시 확인문제 2번

스프레드시트 일반차시 확인문제

Q21.Range("B2").Offset(1, 2).Select 를 실행했을 때 선택되는 셀은?

  1. ①C4
  2. ②D3
  3. ③D4
  4. ④C3
정답과 해설 보기

정답: ② D3

Offset(행, 열)은 기준 셀에서 1행 아래, 2열 오른쪽으로 이동하므로 B2 → D3입니다.

출처: 13차시 확인문제 3번

스프레드시트 일반차시 확인문제

Q22.조건을 먼저 검사하지 않고 실행문을 최소 한 번은 실행한 뒤, 조건이 참인 동안 반복하는 구문은?

  1. ①Do While 조건 ~ Loop
  2. ②Do ~ Loop While 조건
  3. ③Do Until 조건 ~ Loop
  4. ④For ~ Next
정답과 해설 보기

정답: ② Do ~ Loop While 조건

Do ~ Loop While은 Loop 위치에서 조건을 검사하므로 실행문이 무조건 한 번은 실행됩니다.

출처: 13차시 확인문제 4번

스프레드시트 일반차시 확인문제

Q23.매크로를 '상대 참조로 기록'하여 [A1] 셀이 선택된 상태에서 [A2:A5]에 노란색 채우기를 지정하는 과정을 기록했다. [C1] 셀을 선택하고 이 매크로를 실행하면 노란색이 채워지는 범위는?

  1. ①A2:A5
  2. ②C2:C5
  3. ③C1:C4
  4. ④A1:A4
정답과 해설 보기

정답: ② C2:C5

상대 참조 매크로는 기록 시작 셀(A1)과의 상대 위치를 기억합니다. C1에서 실행하면 오른쪽으로 두 칸 이동한 C2:C5에 적용됩니다.

출처: 13차시 확인문제 5번