책 내용 질문하기
2014년 1회 30번
도서
[2014] 컴퓨터활용능력 1급 필기
페이지
조회수
302
작성일
2014-05-01
작성자
김*선
첨부파일

30. 다음 중 아래에 주어진 매크로 모듈에 대한 설명으로 옳은 것은?

Sub Macro1()

For i = 1 To 10 Step 2

ActiveCell.FormulaR1C1 = i
Selection.Font.ColorIndex = 5

ActiveCell.Offset(1, 0).Range("A1").Select

Next i

End Sub

① [A1] 셀을 기준으로 매크로가 실행된다.

② [A1] 셀에 “1,3,5,7,9”가 할당된다.

③ 셀의 글자색을 파랑색으로 변경한다.

④ 반복문이 10번 수행된다.

답은 3번인데 답이 되는 이유와 나머지가 틀린이유부분에 설명을 좀 부탁드립니다.

답변
2014-05-02 14:15:42

안녕하세요.

문제의 매크로 코드를 살펴보면 다음과 같습니다.

Sub Macro1( )

1 For i = 1 To 10 Step 2

2 ActiveCell.FormulaR1C1 = i

3 Selection.Font.ColorIndex = 5

4 ActiveCell.Offset(1, 0).Range(“A1”).Select

5 Next i

End Sub

1 i가 1에서 10이 될 때까지 2씩 증가하면서 2~4번을 수행합니다.

2 활성화된 셀에 i 값을 입력합니다.

? FormulaR1C1 : R1C1 스타일의 수식을 지정하는 속성입니다. 여기서는 단순히 i 값을 입력합니다.

3 선택한 영역의 글꼴 색을 파랑색으로 지정합니다.

4 활성화된 셀에서 아래로 1칸, 오른쪽으로 0칸 이동한 후 그 셀을 기준으로 첫 번째 열(A), 첫 번째 행(1)을 선택합니다.

? Offset : 지정된 범위에서 떨어진 범위

? Range(“A1”) : [A1] 셀을 의미하는 것이 아니라 첫 번째 열(A), 첫 번째 행(1)을 의미입니다. ‘Range( “A2”)’로 지정하면 첫 번째 열(A), 두 번째 행(2)을 의미합니다.

※ ‘ActiveCell.Offset(1, 0).Select’로 작성해도 결과는 동일합니다.

5 반복문이 끝날 때까지 1번으로 이동합니다.

활성화된 셀이 [B2] 셀이라고 할 때 반복문 실행에 따른 변수의 변화는 아래와 같습니다.

실행 횟수

i

ActiveCell.Offset(1, 0).Range(“A1”).Select

1

1

활성화된 [B2] 셀에서 1행 떨어진 셀 선택(B3)

2

3

활성화된 [B3] 셀에서 1행 떨어진 셀 선택(B4)

3

5

활성화된 [B4] 셀에서 1행 떨어진 셀 선택(B5)

4

7

활성화된 [B5] 셀에서 1행 떨어진 셀 선택(B6)

5

9

활성화된 [B6] 셀에서 1행 떨어진 셀 선택(B7)

6

11

i가 11일면 10보다 크므로 반복문을 종료합니다. 매크로 모듈을 실행하면 다음과 같이 입력됩니다.

즐거운 하루 되세요.

"
  • *
    2014-05-02 14:15:42

    안녕하세요.

    문제의 매크로 코드를 살펴보면 다음과 같습니다.

    Sub Macro1( )

    1 For i = 1 To 10 Step 2

    2 ActiveCell.FormulaR1C1 = i

    3 Selection.Font.ColorIndex = 5

    4 ActiveCell.Offset(1, 0).Range(“A1”).Select

    5 Next i

    End Sub

    1 i가 1에서 10이 될 때까지 2씩 증가하면서 2~4번을 수행합니다.

    2 활성화된 셀에 i 값을 입력합니다.

    ? FormulaR1C1 : R1C1 스타일의 수식을 지정하는 속성입니다. 여기서는 단순히 i 값을 입력합니다.

    3 선택한 영역의 글꼴 색을 파랑색으로 지정합니다.

    4 활성화된 셀에서 아래로 1칸, 오른쪽으로 0칸 이동한 후 그 셀을 기준으로 첫 번째 열(A), 첫 번째 행(1)을 선택합니다.

    ? Offset : 지정된 범위에서 떨어진 범위

    ? Range(“A1”) : [A1] 셀을 의미하는 것이 아니라 첫 번째 열(A), 첫 번째 행(1)을 의미입니다. ‘Range( “A2”)’로 지정하면 첫 번째 열(A), 두 번째 행(2)을 의미합니다.

    ※ ‘ActiveCell.Offset(1, 0).Select’로 작성해도 결과는 동일합니다.

    5 반복문이 끝날 때까지 1번으로 이동합니다.

    활성화된 셀이 [B2] 셀이라고 할 때 반복문 실행에 따른 변수의 변화는 아래와 같습니다.

    실행 횟수

    i

    ActiveCell.Offset(1, 0).Range(“A1”).Select

    1

    1

    활성화된 [B2] 셀에서 1행 떨어진 셀 선택(B3)

    2

    3

    활성화된 [B3] 셀에서 1행 떨어진 셀 선택(B4)

    3

    5

    활성화된 [B4] 셀에서 1행 떨어진 셀 선택(B5)

    4

    7

    활성화된 [B5] 셀에서 1행 떨어진 셀 선택(B6)

    5

    9

    활성화된 [B6] 셀에서 1행 떨어진 셀 선택(B7)

    6

    11

    i가 11일면 10보다 크므로 반복문을 종료합니다. 매크로 모듈을 실행하면 다음과 같이 입력됩니다.

    즐거운 하루 되세요.

    "
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.