본문 바로가기

IT 관련/컴퓨터활용능력시험

컴활 1급 실기기출문제① : 16년 1회 엑셀 4-2

<< 컴퓨터활용능력(엑셀) 1급 실기 기출문제① : 2016년 1회 >>

 

 

안녕하세요

 

신글번글 블로그입니다.

 

컴퓨터활용능력(엑셀) 1급 실기 기출문제① (2016년 1회) 기타작업 문제 4-2 풀이를 시작할게요.

 

기출문제 다운로드는 아래 링크박스로 가셔서 하실 수 있어요.

 

 

컴활기출문제 1급 : 다운로드 및 해설소개

<< 컴활기출문제 1급 : 다운로드 및 해설소개 >> 안녕하세요 신글번글 블로그 주인장입니다. 이제부터 컴활1급 기출문제 해설 시리즈를 올리려고 해요. 컴활1급 시험은 필기와 실기(엑셀, 엑세스)로 구성되는데,..

pjhpt.tistory.com

 

 

 


기타작업 문제 4-2.

 

문제 4-2

 

기타작업-2 시트

 

 

① [개발도구] - [컨트롤] - [디자인모드]를 클릭하여 실행하고, '펜션예약' 버튼을 더블클릭합니다.

 

* 엑셀 개발도구 메뉴가 없는 경우에는 아래 링크박스를 참조하세요.

 

 

엑셀 메뉴 [개발도구] 활성화 하기

<< 엑셀 메뉴 [개발도구] 활성화 >> 안녕하세요 신글번글 블로그입니다. 오늘은 엑셀 메뉴에 [개발도구] 탭이 없는 경우 이 탭을 활성화 하는 법에 대해 말씀드릴게요. 매크로나 디자인모드를 실행하려면 이 탭이..

pjhpt.tistory.com

 

그림1-1

그리고 상단에 개체 선택 콤보 상자에는 'cmd펜션예약'이, 프로시저 선택 콤보 상자에는  'click'으로 되어 있는지 확인합니다.

 

펜션예약 명령버튼(commandbutton)을 Click 할때 실행할 코드를 입력하는 란이에요.

 

펜션예약 폼을 나타나게 해주어야 하므로, 중간줄에 "펜션예약.show"를 입력해 주세요.

 

그림1-2

 

 

 

 

 

그럼 이제 창을 닫고 '디자인모드'를 클릭하여 해제한 후에, '펜션예약' 버튼을 눌러봅니다.

 

그러면 펜션예약폼이 새로운 창으로 뜨게되요.

 

그림1-3

 

그림1-4

 

 

② 펜션예약 폼이 처음 실행(초기화) 되었을 때 나타나는 화면을 설정해줍니다.

 

[J5:K9] 영역의 내용이 '방이름(lst방이름)' 목록 상자의 목록에 표시되게 하고, 1박 오션 단추가 기본적으로 선택되도록 설정합니다.

 

좀 전에 했던 것처럼 디자인모드를 실행하여 펜션예약버튼을 더블클릭 해주세요.

 

그림2-1

 

위에서 입력했었던 코드가 나오네요.

 

왼 쪽 창에서 폼 폴더아래 펜션예약을 더블클릭 해주세요.

 

그림2-2

 

펜션예약 폼이 나타나면 그 안에있는 공백부분을 더블클릭 해줍니다.

 

그림2-3

 

코드를 입력하기 전에, 개체 선택 콤보 상자는 UserFrom 으로 되어 있는지 확인합니다.

 

그리고 프로시저 선택 콤보 상자는 Initialize로 변경해 줍니다.

 

코드를 입력은 '방이름(lst방이름)'에 [J5:K9] 영역을 나타나게 해주고, 이용기간을 표시하는 옵션단추는 '1박'이 기본적으로 선택되도록 설정하여 줍니다.

 

그러면 아래와 같이 코드입력을 해주면 되겠네요.

 

 

Private Sub UserForm_initialize()

 

lst방이름.RowSource = "j5:k9"

opt1박 = true

 

end sub

 

 

* 참고로 RowSource는 목록 상자의 목록을 나타내주는 속성입니다. 꼭 기억하세요!

 

그림2-4

 

그림2-5

 

 

 

 

 

③ 다음으로 폼의 데이터를 시트의 표에 입력되도록 설정합니다.

 

여기서는 코드의 내용들이 아주 많아요. 복잡할 수 있으니 차근차근 따라해보세요.

 

우선 펜션예약 폼의 '예약' 버튼을 더블클릭하여 cmd예약_Click 프로시저로 들어갑니다.

 

그림3-1

 

이제 코드들을 하나하나 입력할 차례에요.

 

어느 위치에 폼의 데이터를 시트에 입력할 것인지 확인하여 코드를 입력합니다.

 

시작행과 추가행 및 참조행을 통하여 행 지정을 해주세요.

 

시작행 = [b3].Row

추가행 = [b3].CurrentRegion.Rows.Count

입력행 = 시작행 + 추가행

참조행 = lst방이름.Listindex + 5

 

[b3].CurrentRegion.Rows.Count 는 [b3] 셀부터 연결된 행의 개수를 카운트 해줍니다. 문제의 시트에서 [b3] 셀과 [b4] 셀에 값이 입력되어 있으므로 연결된 행의 개수 2를 반환해줍니다. 꼭 기억하세요!

Listindex 는 폼의 list 목록에서 지정된 값의 위치를 숫자로 반환해줍니다. 처음위치의 값은 0이에요. Listindex 꼭 기억하세요!

 

그리고 셀위치에 입력될 값을 지정 해주세요.

 

Cells(입력행, 2) = 입력행 - 4

Cells(입력행, 3) = txt예약자

Cells(입력행, 4) = txt전화번호

Cells(입력행, 5) = Cells(참조행, 10)

Cells(입력행, 6) = txt날짜

 

* txt예약자, txt전화번호 등 컨트롤의 종류 및 이름을 확인하려면 왼쪽 속성창을 확인하세요.

 

그림3-2

 

 

④ 시트의 G열과 H열에 입력될 값을 IF를 통하여 폼에 추가로 입력합니다.

 

옵션단추 1박에 체크가 되어있으면 이용기간은 1박, 이용금액은 금액 * 1이 되도록 설정해요.

 

옵션단추 2박에 체크가 되어있으면 이용기간은 2박, 이용금액은 금액 * 2가 되도록 설정해요.

 

IF opt1박 =True Then

    Cells(입력행, 7) = "1박"

    Cells(입력행, 8) = Cells(참조행, 11) * 1

Else

    Cells(입력행, 7) = "2박"

    Cells(입력행, 8) = Cells(참조행, 11) * 2

 

그림4

 

 

 

 

 

⑤ 마지막으로 폼을 종료하는 프로시저를 작성할 차례에요.

 

문제에서 현재 날짜와 메시지를 표시하는 메세지 박스가 나타나도록 하도록 설정하라고 합니다.

 

'종료' 버튼을 더블클릭하여 cmd종료_Click 프로시저로 들어갑니다.

 

그림5-1

 

메세지 박스와 창을 닫게 하는 코드를 입력합니다.

 

Private Sub cmd종료_Click()

   MsgBox Date & " 폼을 종료합니다."

   Unload Me

End Sub

 

* MsgBox 의 사용법도 꼭 기억하세요!

 

그림5-2

 

이제 모두 완성되었으니 디자인모드를 해제하고 시트에서 폼을 실행하여 확인해보세요.

 

2016년 1회 엑셀 기출문제 해설은 이제 끝이네요.

 

수고하셨어요.

 

 

 

 

다음에서 "신글번글"로 검색하세요.