본문 바로가기

공부/컴활 1급 실기

[ID UP] 컴퓨터활용능력 컴활 1급 실기 벼락치기 - 엑셀 기타작업 ② [100/100점]

[ID UP] 컴퓨터활용능력 컴활 1급 실기 벼락치기 - 엑셀 기타작업 ② [100/100점]

마지막에서도 마지막 작업입니다. 프로시저 작성 부분입니다. Visual Basic을 이용하는데 프로그래밍을 해보시지 않으신 분이라면 조금 어려울 수도 있지만 형식이 정해져 있기 때문에 익숙해 지시면 괜찮을 거라고 생각합니다.

문항은 3문항으로 이루어지며 각 문항당 5점이 부여 됩니다. 저는 엑셀보다는 이렇게 코딩하는 쪽이 오히려 재밌는 것 같습니다.


  • Microsoft Office 2007 기준이지만 2010 버전과 큰 차이는 없습니다.


[ID UP] 컴퓨터활용능력 컴활 1급 실기 벼락치기

  1. 개요
  2. 엑셀 문제 구성 살펴보기
  3. 엑셀 문제 구성
    1. 엑셀 기본작업 (25점)
    2. 엑셀 계산작업 (30점)
    3. 엑셀 분석작업 (20점)
    4. 엑셀 기타작업 (25점)
  4. 액세스 문제 구성 살펴보기
  5. 액세스 문제 구성
    1. 액세스 DB구축 (30점)
    2. 액세스 입력 및 수정 기능 구현 (25점)
    3. 액세스 조회 및 출력 기능 구현 (25점)
    4. 액세스 처리 기능 구현 (20점)


4. 기타작업

1) 차트 수정 : 제목, 범례, 축 등을 설정
2) 프로시저 작성 : 폼 호출, 버튼, 시트 활성화 등

2) 프로시저 작성

작성할 대표적인 프로시저 종류를 나열해보겠습니다.

1. 폼 보이기
2. 폼 초기화
3. 사용자 정의 프로시저
4. 종료 프로시저

이렇게 4가지로 구성되며 1,2 번은 한 문항에서 지시합니다.

창 열기

이제와서 말하기는 늦은감이 있지만 [개발 도구] 탭이 없으신 분들은 [파일](아이콘) - [Excel 옵션] 에서 [리본 메뉴에 개발 도구 탭 표시] 를 체크해주시면 됩니다.



[개발 도구] - [코드] - [Visual Basic] 을 클릭합니다. [Alt] + F11 단축키로도 열 수 있습니다.

2-1 폼보이기

매우 간단한 작업입니다. [개발 도구] 탭에서 디자인 모드를 클릭하면 버튼을 수정할 수 있는데 버튼을 더블클릭하면 버튼을 클릭했을 때 처리하는 프로시저를 수정 할 수 있습니다.

그후 폼이름.Show를 입력후 저장합니다. 폼이름은 비주얼베이직 프로젝트 창에서 확인할 수 있고, 기본적으로 문제에서 제시해 줍니다.

2-2 폼 초기화

폼을 초기화 하라는 말이 아닙니다. 폼이 초기화 될 때의 프로시저를 작성하라는 말입니다. 우선 비주얼베이직 프로젝트 창에서 에서 해당 폼을 열어야 합니다. 위에 보이는 스크린샷에서 폼이름을 더블 클릭합니다.

그 후 폼의 배경 부분을 더블클릭합니다.

그럼 폼을 클릭했을 때의 프로시저가 나오는데 위처럼 콤보박스에서 initialize를 선택해주면 초기화 프로시저를 수정 할 수 있습니다. Click 프로시저는 삭제해 줍니다.

초기화 프로시저에서 작성하는것은 콤보박스나 리스트박스의 데이터 원본을 지정해주는 것입니다.

-> 컨트롤명.RowSource = "셀범위"

이렇게 입력해주면 끝입니다. 컨트롤 명이나 셀 범위는 문제대로 하시면됩니다.

여기 까지하시면 5점입니다.


2-3 사용자 정의 프로시저

이부분은 문제별로 조금 상이한 부분이 있지만 공통적인 부분을 우선적으로 설명드리겠습니다.

보통은 검색 또는 등록 프로시저가 출제됩니다. (아닌 경우도 있습니다)

등록하는 프로시저만 잘 익히신다면 검색하는 프로시저 또한 응용으로 가능 합니다.

등록 프로시저의 예시를 보여드리겠습니다.

선수 이름 목록에서 선수들을 선택해 등록하는 등록 프로시저입니다. 비주얼베이직에서 버튼을 더블클릭하면 클릭 프로시저 수정이 가능합니다.


코드를 살펴보겠습니다.

Private Sub cmd등록_Click()
    i = Range("b3").CurrentRegion.Rows.Count + 2
    'b3 셀의 위치에서 내용이 있는 행의 갯수에 2를 더한다.
    '즉 아무것도 없는 상태에서는 i = 4가됩니다.
    iRow = lst선수명.ListIndex + 6
    'Listindex는 리스트 박스나 콤보박스에서 선택된 아이템의 인덱스를 반환합니다.
    '인덱스는 0부터 시작이므로 첫번쨰 아이템을 선택했다면 Listindex는 0이됩니다.
    'H6셀부터 참조해야 하므로 +6을 해주고
    Cells(i, 2) = Cells(iRow, 8)
    '열의 번호롤 8로 해주어야 H6셀을 참조할 수 있습니다.
    Cells(i, 3) = txt나이
    Cells(i, 4) = txt연락처
    
    If opt = True Then 'opt남이 체크되어 있다면
        Cells(i, 5) = opt.Caption
        'Caption은 컨트롤에서 보여지는 이름입니다.
    Else
        Cells(i, 5) = opt.Caption
    End If
End Sub


각 코드에 대한 설명은 주석으로 대신하겠습니다.

Tip. Cells(행,열) 함수는 읽기/쓰기가 모두 가능하며 엑셀의 셀 값을 참조하는 함수입니다. A1셀일경우 Cells(1,1) 입니다.

공통 적으로 조회할 행 번호를 변수로 저장해 두어야합니다.

이기적 책에서 지정한 변수명대로 iRow로 지정했습니다.

주석에서도 설명했듯이 iRow는 콤보박스나 리스트 박으에서의 인덱스를 조회합니다.


2-4 종료 프로시저

똑같은 방법으로 종료 버튼을 더블클릭해서 종료 프로시저를 작성합니다.
한줄에 5점을 얻을 수 있는 아주아주 좋은 문제입니다.
Unload Me 만 입력해주면 됩니다. 여기서 Me는 현재 폼입니다.

간혹 메세지 창을 띄우라는 경우가 있습니다.

MsgBox "내용", vbOKOnly, "제목"

이렇게 입력해주시면 됩니다.

날짜를 입력하는경우 "내용" 대신에 Date
시간을 입력하는 경우 Time
날짜와 시간을 입력하는 경우 Now을 입력해주시면 됩니다.

"Date" 같은 식으로 실수입력하시는 경우 없으시기를 바라겠습니다.


여기까지 엑셀의 모든 과정이 끝났습니다. 모두 완벽하게 익히셨으면 엑셀 100점을 획득하실 수 있습니다!

[ Score 100/100 ]

계산작업에서 문제가 매우 어렵게 출제되어 헷갈리는 부분이 있으시다면 다른 부분에서 충분히 만회하시면 됩니다. 계산작업을 다틀린다고 가정하더라도 70점이 획득 가능합니다. 물론 반만 맞는다고 쳐도 합격률이 매우 올라가겠지요?

이제 액세스에 대한 포스팅을 시작하도록 하겠습니다. 이제 저는 컴활 1급 시험까지 24시간도 남지 않았습니다. 하루만에 액세스를 정복해야하는 상황이 왔습니다.

멈추지 않고 포스팅 진행해보도록 하겠습니다. 감사합니다.