다음 중 아래 프로시저의 실행 결과로 옳은 것은?Sub loopTest… | [컴퓨터활용능력 1급 필기] 15년 2회차 기출문제 상세 페이지
1[컴퓨터활용능력 1급 필기] 15년 2회차
다음 중 아래 프로시저의 실행 결과로 옳은 것은?
Sub loopTest()
Dim k As Integer
Do while k<3
[A1].offset(k,1)=10
k = k + 2
Loop
End Sub
1
[A2]셀에 10이 입력된다.
2
[A1]셀과 [A3]셀에 10이 입력된다.
3
[B2]셀에 10이 입력된다.
4
[B1]셀과 [B3]셀에 10이 입력된다.
해설
프로시저는 Do While k < 3 반복문 안에서 [A1].offset(k, 1) = 10을 실행하고 k = k + 2로 k를 2씩 늘린다. Integer로 선언한 변수 k는 별도로 값을 주지 않았으므로 초기값이 0이다.
Offset(행, 열)은 기준 셀에서 아래로 '행'만큼, 오른쪽으로 '열'만큼 이동한 셀을 가리킨다. k가 0일 때 [A1].offset(0,1)은 [B1]이므로 이 셀에 10이 입력되고 k는 2가 된다. 2는 3보다 작으므로 한 번 더 반복해 [A1].offset(2,1) 즉 [B3]에 10이 입력되고 k는 4가 된다. 4는 3보다 작지 않아 반복이 끝난다.
결과적으로 값이 채워지는 셀은 [B1]과 [B3] 두 곳이다. 열 오프셋이 1이므로 A열이 아니라 B열이고, k가 1씩이 아니라 2씩 증가하므로 [B2]는 건너뛴다는 점이 핵심이다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.