아래는 워크시트 [A1] 셀에서 [매크로 기록]을 클릭하고 작업을 수행… | [컴퓨터활용능력 1급 필기] 18년 2회차 기출문제 상세 페이지
1[컴퓨터활용능력 1급 필기] 18년 2회차
아래는 워크시트 [A1] 셀에서 [매크로 기록]을 클릭하고 작업을 수행한 과정을 Visual Basic Editor의 코드 창에서 확인한 결과이다. 다음 중 이에 대한 설명으로 옳지 않은 것은?
| A | B | C | |
|---|---|---|---|
| 1 | 성적현황 | ||
| 2 | 학번 | 학과 | 이름 |
| 3 |
(일반)
Sub 매크로2()
'
' 매크로2 Macro
'
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = "성적현황"
ActiveCell.Offset(1, -1).Range("A1").Select
ActiveCell.FormulaR1C1 = "학번"
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = "학과"
Range("C2").Select
ActiveCell.FormulaR1C1 = "이름"
Range("A3").Select
End Sub1
매크로의 이름은 '매크로2'이다.
2
'성적현황','학번','학과'는 상대 참조로 기록 되었다.
3
[A3] 셀을 클릭하고 매크로를 실행한 후의 셀 포인터 위치는 [A5] 셀이다.
4
[B3] 셀을 클릭하고 매크로를 실행한 후의 [C3] 셀의 값은'성적현황'이다.
해설
기록된 프로시저 이름이 Sub 매크로2()이므로 매크로 이름은 '매크로2'입니다. 코드에서 ActiveCell.Offset(행, 열)로 이동한 뒤 값을 입력한 '성적현황', '학번', '학과'는 현재 셀을 기준으로 상대적인 위치에 기록된 상대 참조이고, Range("C2").Select로 이동해 입력한 '이름'과 마지막의 Range("A3").Select는 셀 주소를 직접 지정한 절대 참조입니다.
매크로를 [A3] 셀에서 실행하면 A3 → Offset(0,1)로 B3에 '성적현황' → Offset(1,-1)로 A4에 '학번' → Offset(0,1)로 B4에 '학과' 순으로 입력됩니다. 이어서 절대 참조인 Range("C2")로 이동해 [C2]에 '이름'을 입력하고, 마지막 줄 Range("A3").Select가 실행되므로 실행이 끝난 뒤 셀 포인터는 항상 [A3] 셀에 놓입니다. 시작 위치와 무관하게 [A5]가 될 수 없으므로 이 설명이 잘못되었습니다.
반면 [B3] 셀에서 실행하면 첫 줄의 Offset(0,1)에 의해 한 칸 오른쪽인 [C3]으로 이동한 뒤 '성적현황'이 입력되므로, 실행 후 [C3] 셀의 값이 '성적현황'이 된다는 설명은 옳습니다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.