콤보 상자의 목록으로 현재 통합문서에 포함된 시트들의 이름을 추가하는 … | [컴퓨터활용능력 1급 필기] 10년 1회차 기출문제 상세 페이지
콤보 상자의 목록으로 현재 통합문서에 포함된 시트들의 이름을 추가하는 프로시저를 작성하려고 한다. 다음 중 (가), (나), (다)에 식으로 옳은 것은? (단, 콤보 상자의 이름은 'CB1'이며 사용자의 폼의 이름은 UForm이다.)Private Sub UForm_Initialize()
Dim NN As Integer
NN = (가).ActiveWorkbook.Sheets.Count
Do While(나)>0
CB1.(다) Application.ActiveWorkbook.sheets(NN).Name
NN = NN - 1
Loop
End Sub
(가) Application
(나) Workbook.Sheets.Count
(다) CB1
(가) ActiveDocument
(나) Sheet.Count
(다) CB1.ItemCount
(가) Application
(나) NN
(다) AddItem
(가) Excel
(나) CB1.ItemCount
(다) NN
코드는 폼이 초기화될 때 현재 통합 문서의 시트 이름을 콤보 상자 목록에 채우는 구조입니다. 첫 줄의 NN = (가).ActiveWorkbook.Sheets.Count에서 ActiveWorkbook 앞에 올 수 있는 최상위 개체는 엑셀 응용 프로그램 자체를 가리키는 Application입니다. 이 문장으로 통합 문서에 들어 있는 시트 개수가 정수형 변수 NN에 저장됩니다.
다음 줄 Do While ( ) > 0은 반복을 계속할 조건이며, 루프 안에서 NN = NN - 1로 값이 1씩 줄어듭니다. 따라서 조건에 들어갈 것은 NN이고, NN이 0보다 큰 동안만 반복하므로 시트 개수만큼 정확히 돌고 끝납니다.
마지막으로 CB1.( ) Application.ActiveWorkbook.sheets(NN).Name은 콤보 상자에 항목을 하나씩 넣는 문장입니다. 콤보 상자(ComboBox)에 목록 항목을 추가하는 메서드는 AddItem이므로 CB1.AddItem 뒤에 시트 이름이 인수로 전달되는 형태가 됩니다. 정리하면 Application, NN, AddItem의 조합이 옳습니다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.