문제
새 워크시트에서 [A1] 셀에 셀 포인터를 두고, [개발 도구] 탭의 [상대 참조로 기록]을 선택한 후 [매크로 기록]을 클릭하여 [그림1]과 같이 데이터를 입력하는 '매크로1'을 작성하였다. 다음 중 [그림2]와 같이 [C3] 셀에 셀 포인터를 두고 '매크로1'을 실행한 경우 '성적현황'이 입력되는 셀의 위치는?
[그림1] — [A1]에서 기록 시작, [B1] 셀에 "성적현황" 입력 (입력란: 학과, 학번, 이름)
| 셀 | A | B | C |
|---|---|---|---|
| 1 | 성적현황 | ||
| 2 | 학과 | 학번 | 이름 |
[그림2] — [C3] 셀에 셀 포인터를 둔 상태에서 매크로1 실행
① [B1] 셀 ② [C3] 셀 ③ [C4] 셀 ④ [D3] 셀
정답
4번
해설
정답: 4. 상대 참조로 기록했으므로, 매크로는 "시작 셀에서 오른쪽으로 한 칸 이동한 곳에 성적현황을 입력"하는 동작을 기억한다. [A1]에서 시작해 [B1]에 입력했으니 오른쪽으로 1칸 이동이다. 실행 시작점이 [C3]이면 오른쪽으로 1칸 이동한 [D3]에 '성적현황'이 입력된다.
오답 풀이
- 1번: [B1]은 기록 당시의 입력 위치일 뿐, 상대 참조라 실행 위치에 따라 달라진다.
- 2번: [C3]은 실행 시작 셀이며, 매크로는 오른쪽으로 이동해 입력한다.
- 3번: [C4]는 아래쪽으로 이동한 것으로, 기록된 이동 방향과 다르다.
- 4번: 시작 셀에서 오른쪽 1칸인 [D3]에 입력되므로 옳다.
보충 개념 상대 참조로 기록된 매크로는 절대 위치가 아니라 시작 셀로부터의 상대적 이동을 기억하므로, 실행 위치가 바뀌면 결과 위치도 함께 이동한다.