09 단원 기타작업기출문제풀이 1. 차트수정 2. 프로시저작성부분 1/19
기타작업에서는만들어진차트를수정하는문제와프로시저를작성하는문제가출제되는데차트에 10점, 프로시저에 15점이배정됩니다. 프로시저는많은시간을투자해야완전히이해할수있는프로그래밍분야입니다. 최근에는프로시저문제가 5점짜리부분점수를갖는 3문제로출제되는데 2문제는점차어려워지는추세입닏. 반면차는어려운문제가아니므로차트에배정된 10점은꼭얻을수있도록해야합니다. 간단한서식설정에서계열의추가, 변경, 추세선의추가등차트와관련됩니다. 1. 차트수정 1. 예금종류별실적 시트에서다음의지시사항에따라차트를수정하시오. (10점) 차트는반드시문제에서제공한차트를사용해야하며, 신규차트작성시 0점처리됨 차트제목을 예금종류별실적, X( 항목 ) 축제목은년도, Y( 값 ) 축제목은 예금액 으로설정하시오. 차트제목의글꼴을 돋움, 글꼴스타일 굵게, 크기 16, 색깔 파랑 으로설정하시오. Y( 값 ) 축서식에서눈금값의최소값을 1000, 주단위는 5,000으로설정하시오. 2003년의알뜨랑적금의값을표시하시오. 범례의배치를 위쪽에나타나도록하시오. 차트영역서식 : 차트영역에노랑색채우기를지정하시오. 차트는반드시문제에서제공한차트를사용해야하며, 신규차트작성시 0점처리됨 2/19
차트제목을 예금종류별실적, X( 항목 ) 축제목은년도, Y( 값 ) 축제목은 예금액 으 로설정하시오. 차트를수정하기위해먼저차트에서클릭합니다. 차트영역에서마우스오른쪽단추를눌러단축메뉴를표시합니다. 여기서차트마법사의 3단계에해당하는차트옵션을클릭합니다. 먼저차트제목에예금종류별실적이라고입력합니다. 그러면미리보기에반영되는게확인되시죠? 다음으로 X축제목에년도라고입력합니다. Y축제목에는예금액이라고입력합니다. 결과확인을위해확인단추를클릭합니다. 그러면차트제목과 X축, Y축제목이들어간것을확인할수있습니다. 3/19
차트제목의글꼴을 돋움, 글꼴스타일 굵게, 크기 16, 색깔 파랑 으로설정하시 오. 자.. 이제두번째조건으로차트제목의서식을변경해보도록하겠습니다. 차트제목의글꼴을돋움, 굵게, 16, 파랑으로설정하라고되어있습니다. 자.. 그럼차트제목예금종류별실적을클릭합니다. 윗쪽에있는서식도구모음을이용해볼까요? 우선글꼴목록단추를눌러나타나는글꼴중에서돋움을선택해주고요. 크기는 16 으로지정합니다. 4/19
굵게설정하라고되어있죠? 굵게단추를클릭합니다. 다음으로색깔은파랑색으로지정합니다. 이렇게해서차트제목의서식을변경해보았습니다. Y( 값 ) 축서식에서눈금값의최소값을 10000, 주단위는 5,000 으로설정하시오. 5/19
자다음조건은 Y축서식에서눈금값의최소값을 10000 주단위는 5000으로설정하라고되어있는데요. Y축에대한눈금값을변경해주면되겠죠? 값축눈금단위를변경하기위해서우선값축에서클릭합니다. 선택된값축에대해서식을변경할것이므로선택된값축에서더블클릭합니다. 그러면축서식대화상자가나타나죠? 여기서우리는눈금을변경할것이므로눈금탭을클릭합니다. 먼저최소값을 10000으로지정하라고되어있죠? 최소값에서클릭합니다. 10000이라고입력합니다. 자.. 다음으로주단위를 5000이라고설정해야합니다. 주단위에서클릭해서 5000으로변경합니다. 결과확인을위해확인단추를클릭합니다. 6/19
그러면 Y값축의제일아래쪽눈금인최소값이 10000으로주단위는 10,000 15,000 이런식으로 5,000단위로단계가지정된것을확인할수있습니다. 여러분은문제에서제시된출력형태와비교해보면서차근차근해보시면됩니다. 2003 년의알뜨랑적금의값을표시하시오. 2003년의알뜨랑적금막대에마우스를올려놓은후클릭합니다. 그러면 2003년의알뜨랑만선택되는것이아니라모든알뜨랑적금이한꺼번에선택이되죠? 우리는 2003년만선택해야합니다. 다시한번 2003년의알뜨랑막대에서클릭합니다 7/19
그러면이제 2003년의알뜨랑만선택된것을확인할수있습니다. 데이터레이블을표시하기위해더블클릭합니다. 그러면데이터요식대화상자가나타나죠? 데이터레이블탭을클릭합니다. 현재데이터레이블없음에선택되어있죠? 우리는값표시에서클릭해줍니다. 결과확인을위해확인단추를클릭합니다. 8/19
그러면 2003년의알뜨랑적금막대에만값이표시된것을확인할수있습니다. 범례의배치를 위쪽에나타나도록하시오. 이번에는범례의위치를위쪽에나타나도록설정해보겠습니다. 차트영역에서오른쪽단추를클릭합니다. 나타나는단축메뉴에서차트옵션을클릭합니다. 범례를변경할것이므로범례탭을클릭합니다. 9/19
위치를위쪽으로선택합니다. 자.. 결과확인을위해확인단추를클릭합니다. 그러면범례의위치가위쪽으로이동된것을확인할수있습니다. 차트영역서식 : 차트영역에노랑색채우기를지정하시오. 차트위에서클릭해서차트를선택합니다. 차트영역에서마우스오른쪽단추를클릭합니다. 단축메뉴에서차트영역서식을클릭합니다. 아니면차트영역에서더블클릭하셔도됩니다. 10/19
그러면차트영역서식대화상자가나타나죠? 무늬탭을선택한후영역에서노랑색을클릭합니다. 결과확인을위해확인단추를클릭합니다. 그러면차트영역에노랑색으로채워진것을확인할수있습니다. 자.. 이렇게해서차트에대한부분을처리해봤고요. 저장단추를클릭해서다시한번저장을시켜줍니다. 2. 프로시저작성부분 자 2번문제는프로시저를작성하는문제입니다. 2번문제에서는워크시트에입력된데이터를이용하여폼과연결시키는프로시저를작성한후실행해보는형태로문제를풀어가시면됩니다. 고객정보현황 시트에서다음과같은작업을수행하고저장하시오. (15 점 ) 11/19
고객정보현황 버튼을클릭하면 < 고객관리 > 폼이나타나도록프로시저를작성하시오. (5점) 그림과같이사용자정의폼 < 고객관리 > 의 고객조회 (cmd조회) 버튼을클릭하면제일마지막의고객명, 고객등급, 매출금액, 결제방식이폼의고객명 (txt고객명), 고객등급 (txt고객등급), 매출금액 (txt매출금액), 결제방식 (txt결제방식) 에각각표시되도록프로시저를작성하시오. (5점) ( 데이터는 D3셀부터입력되어있다 ) 데이터를추가하거나삭제해도항상마지막데이터가표시되어야함 고객정보현황시트에서셀의데이터가변경 (Change) 되면해당셀의글꼴크기가 12 로설정되도도록이벤트프로시저를작성하시오. (5점) 고객정보현황 버튼을클릭하면 < 고객관리 > 폼이나타나도록프로시저를작성하시오. (5점) 시트는고객정보현황시트를선택합니다. 프로시저작성을위해서비주얼베이직편집창으로전환해야되겠죠? 단축키 Alt+F11 키를누릅니다. 12/19
비주얼베이직편집창이나타나면프로시저작성은시트부분에하셔야겠죠? 왼쪽의시트부분에서고객정보현황시트를클릭해서선택합니다. 먼저고객정보현황버튼을클릭하면폼을띄워야하니까해당개체와이벤트를지정해줘야합니다. 개체목록버튼에서고객정보현황을클릭합니다. 버튼을클릭하면작업이이루어져야하므로이벤트는클릭이벤트를선택합니다. 자. 이제실제적인코드를작성해주면되는데요. 이렇게폼을띄우고자할때는폼이름쩜쇼우메소를이용하면됩니다. 자.. 다음으로쩜을찍어줘야겠죠? ㅌ그다음쇼우메소드를적어줍니다. 이렇게하면고객관리폼이나타나라이렇게코드를작성하게된겁니다 Private Sub 고객정보현황 _Click() 고객관리.Show 13/19
End Sub 작성한프로시저확인을위해고객정보현황버튼을클릭합니다. 그러면이렇게고객관리폼이보여집니다. 14/19
그림과같이사용자정의폼 < 고객관리 > 의 고객조회 (cmd조회) 버튼을클릭하면제일마지막의고객명, 고객등급, 매출금액, 결제방식이폼의고객명 (txt고객명), 고객등급 (txt고객등급), 매출금액 (txt매출금액), 결제방식 (txt결제방식) 에각각표시되도록프로시저를작성하시오. (5점) ( 데이터는 D3셀부터입력되어있다 ) 데이터를추가하거나삭제해도항상마지막데이터가표시되어야함 자. 그럼프로시저를작성해보도록하겠습니다. 우선, 위치값을기억시키기위한변수선언부터해보도록하겠습니다. Dim a 해서 a 라는변수선언하나해주고요. 위치값을얻어올 a 라는변수에기억될값은 a 는범위지정을위한속성레인지데이터의위치가 d3 셀이라고했으니까가로열고 d3 자. 괄호닫고, 그다음쩜현재선택된셀의위치값을가져오기위해커런트리전을적어주고요. 다시행의개수를헤아리기위해로우스쩜카운드자플러스마지막으로시트에있는것을폼에반영하는것이므로떨어져있는부분만더해주면되겠죠? 15/19
2 행떨어져있으니까 2 를적어주고엔터를누릅니다. 자.. 이제시트에있는데이터를폼의각각의위치에넣어주기위한코드를작성해주면됩니다. 하나씩차근차근해보도록하겠습니다. 폼의처음위치에고객명이있죠? Txt 고객명에는셀즈괄호열고 a 컴마 3 열이떨어져있으니까 4 번째위치값을가져오기위해 4 를넣어주면됩니다. 시트에있는것을폼에반영할것이므로먼저 txt 고객명이와야된다는거기억하셔야겠죠? 자두번째는고객등급이네요. Txt고객등급셀즈 a컴마 5열, 고객등급이고객명의다음열에위치하고있으니고객명은 4 열에서고객등급은 5 열에서가져오라고지정해야합니다. 세번째는 txt 매출금액입니다. Txt 매출금액은셀즈 a 컴마 6 이겠죠? 자. 다음엔터마지막으로는결제방식입니다. Txt 결제방식은셀 a 컴마 7 입니다. 이렇게해서시트에마지막데이터를찾아서폼의각위치에데이터가하나씩반영되도록지정하는코드를작성했습니다 결과를확인해보기위해다시 Alt+Q 로빠져나옵니다. 16/19
Private Sub cmd조회 _Click() Dim a a = Range("d3").CurrentRegion.Rows.Count + 2 txt고객명 = Cells(a, 4) txt고객등급 = Cells(a, 5) txt매출금액 = Cells(a, 6) txt결제방식 = Cells(a, 7) End Sub 엑셀화면에서우선폼을호출하기위해고객정보현황버튼을클릭합니다. 그다음고객조회버튼을클릭해봅니다. 17/19
그러면마지막데이터가폼에반영되어서표시되는것을확인할수있습니다. 이렇게해서시트에있는데이터를폼에표시하는문제를해결하였습니다. 고객정보현황시트에서셀의데이터가변경 (Change) 되면해당셀의글꼴크기가 12 로설정되도록이벤트프로시저를작성하시오. (5점) Alt + F11 키를눌러비주얼베이직편집창으로전환합니다. 이프로시저의작성은어느위치에해줘야될까요? 작성은시트에서셀의데이터가변경되면조건을처리해야하므로시트에서해야되겠죠? 자.. 그래서고객정보현황시트를클릭합니다. 조건에서시트가변경되면이라고되어있죠? 개체목록에서워크시트를선택합니다. 다음시트가변경되면이라고했으니까이벤트프로시저에서는체인지를선택해야합니다. 18/19
이제본격적인처리를위한코드를작성해봐야합니다. 변경될부분이글꼴크기이므로타겟쩜폰트쩜크기니까싸이즈겠죠? 싸이즈는 12 라고했으니까 12 라고입력해줍니다. 작성된코드를다시한번해석해보면워크시트가변경되면타겟의폰트사이즈가 12 로바뀌어라라는프로시저가완성되었습니다. 결과확인을위해 Alt +Q 를눌러빠져나옵니다. 그리고확인해보면되겠죠? 해당데이터내용을변경해보면됩니다. 마지막데이터의이름을변경해보도록하겠습니다. Private Sub Worksheet_Change(ByVal Target As Range) Target.Font.Size = 12 End Sub 이름을입력하고엔터키를누르면원래크기는 10이었는데작성했던코드값즉글꼴크기가 12로변경되는것을확인할수있습니다. 이렇게해서기타작업의 2번문제인프로시저작성을풀어보았습니다. 19/19