다음 프로시저는 [C1:C20] 영역에 있는 절대 값이 0.5보다 작은… | [컴퓨터활용능력 1급 필기] 12년 3회차 기출문제 상세 페이지
1[컴퓨터활용능력 1급 필기] 12년 3회차
다음 프로시저는 [C1:C20] 영역에 있는 절대 값이 0.5보다 작은 숫자를 모두 0으로 설정한다. ⓐ ~ ⓓ 부분에 입력할 내용을 순서대로 바르게 나열한 것은?
Sub ToZero()
ⓐ Counter = 1 To 20
Set curCell = Worksheets("Sheet1").ⓑ(Counter, ⓒ)
If ⓓ(curCell.Value) < 0.5 Then curCell.Value = 0
Next Counter
End Sub
1
For → Range → C → Int
2
While → Cells → 3 → Int
3
For → Cells → C → Abs
4
For → Cells → 3 → Abs
해설
Next Counter로 닫히는 반복 구조이므로 ⓐ에는 For가 들어가야 한다. For Counter = 1 To 20 ~ Next Counter 형태로 20번 반복하며 [C1:C20]의 각 셀을 차례로 훑는다. While은 Wend와 짝을 이루므로 Next와 함께 쓸 수 없다.
ⓑ와 ⓒ는 셀 하나를 참조하는 부분이다. 뒤에 (Counter, ⓒ)처럼 인수가 두 개 오므로 Cells 속성이며, Cells는 Cells(행 번호, 열 번호) 형식으로 인수를 모두 숫자로 받는다. 대상이 C열이므로 ⓒ에는 열 문자 C가 아니라 열 번호 3을 넣어야 한다. Range를 쓴다면 Range("C" & Counter)처럼 문자열 하나를 받는 형태가 되어 이 코드와 맞지 않는다.
ⓓ는 '절대값이 0.5보다 작은' 조건을 만드는 자리이므로 절대값을 구하는 Abs 함수가 와야 한다. Int는 소수점 이하를 버려 정수로 만드는 함수라 음수 판정이 어긋난다. 따라서 순서대로 For → Cells → 3 → Abs가 들어간다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.