모두CBT

다음 프로시저에 저장된 명령문들에 대한 설명으로 옳지 않은 것은?Sub… | [컴퓨터활용능력 1급 필기] 11년 3회차 기출문제 상세 페이지

1[컴퓨터활용능력 1급 필기] 11년 3회차
다음 프로시저에 저장된 명령문들에 대한 설명으로 옳지 않은 것은?
Sub 더하기()
  Range("A1").Select
  ActiveCell.FormulaR1C1 = "1"
  Range("A2").Select
  ActiveCell.FormulaR1C1 = "4"
  Range("A3").Select
  ActiveCell.FormulaR1C1 = "=R[-2]C+R[-1]C"
  Range("A4").Select
End Sub
1
Range("A1").Select는 [A1] 셀을 선택하는 명령문으로, Range("A1")은 [A1]이라는 셀 개체를 나타내며, Select는 메서드이다.
2
ActiveCell.FormulaR1C1 = "1"은 현재 활성 셀에 1을 입력하는 명령문으로, ActiveCell은 개체이며 FormulaR1C1은 속성이다.
3
프로시저가 실행된 후에 셀 포인터는 최종적으로 [A4]셀에 위치한다.
4
ActiveCell.FormulaR1C1 = "=R[-2]C+R[-1]C"은 활성 셀로부터 두 행 아래쪽에 있는 셀과 한 행 아래쪽에 있는 셀을 더하라는 의미이다.
해설

프로시저는 [A1]에 1, [A2]에 4를 입력한 뒤 [A3]에 수식 =R[-2]C+R[-1]C를 넣고 마지막으로 [A4]를 선택하고 끝난다. 개체(Range, ActiveCell)에 점을 찍어 Select 같은 메서드FormulaR1C1 같은 속성을 지정하는 전형적인 매크로 기록 코드다.

여기서 R1C1 참조 방식의 대괄호 안 숫자는 현재 셀을 기준으로 한 상대적인 이동량이며, 음수는 위쪽(행)·왼쪽(열)을 뜻한다. 따라서 R[-2]C는 두 행 의 같은 열, R[-1]C는 한 행 의 같은 열이다. 활성 셀이 [A3]이므로 이 수식은 [A1]과 [A2]를 더하라는 뜻이 되어 결과는 5가 되며, '두 행 아래쪽과 한 행 아래쪽을 더한다'는 설명은 방향을 반대로 말한 것이라 옳지 않다.

나머지 설명은 옳다. Range("A1")은 셀 개체이고 Select는 그 개체에 동작을 지시하는 메서드이며, ActiveCell은 개체·FormulaR1C1은 그 개체의 속성이다. 또 마지막 줄이 Range("A4").Select이므로 실행이 끝난 뒤 셀 포인터는 [A4]에 놓인다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.