Skip Navigation Links.
Expand VBAVBA
엑셀프로그래밍이 필요한 이유
Expand ExcelExcel
Expand External LibraryExternal Library
Expand SolutionSolution
Expand EssayEssay

Excel & VBA---Brain Training


PivotTable|
분석보고서의 핵심..

아래의 프로시져를 실행하시면 지극히 간단한 테이블이 만들어진다

Sub CreateDummyDatas() Dim shtX As Worksheet, iX As Integer With ActiveSheet.Range("A1") .Resize(, 3) = Array("품목", "고객명", "판매갯수") For iX = 1 To 1000 .Offset(iX) _ = Choose(Int(Rnd() * 8) + 1, _ "사과","배","귤","바나나","오렌지","키위","포도","참외") .Offset(iX, 1) _ = Choose(Int(Rnd() * 6) + 1, _ "오징어", "낙지", "쭈꾸미", "고등어", "꼴뚜기", "문어") With .Offset(iX, 2) .Value = Int(Rnd() * 10) + 1 End With Next .CurrentRegion.Columns.AutoFit End With End Sub

테이블이 하나 만들어졌다
이 테이블에서 얼마나 많은 정보를 재가공해 낼것인가??
한번 생각해 보시기 바란다
길동이가 처음 회사에 입사하여 과장님이 주신 자료다..
이것..나름대로 분석좀 해서 갖여와바라!!
엑셀이라고는 이름만 들어 보았던 길동이라면 백날 딜다 보아도 답이 안나온다
엑셀을 좀 하였다 하더라도 세상사물을 따져 본적이 없는 길동이라면
엑셀이 있어도 답이 안나온다..
그러나 엑셀을 몰라도 문제의식이 있는 길동이라면..
머리속에서 다양한 생각이 떠오를 것이다
거기다가 엑셀의 피봇도 잘 안다면 회사생활은 광명일 것이고
그렇지 않으면 지옥일 것이다

신입사원이 들어오면 위의 테이블을 주고 분석해오라고 하면
된다..
허접한 OA라이센스를 보는 것 보다는 제일 간단한 방법이다
분석하는 시각..분석하기 위한 도구의 사용등..다양하게
테스트해볼 수 있다

우노싸이트에서 갈고 딱았다면 위와 같이 허접한 데이타를
아래와 같이 그럴듯하게 뽑아내는 정도가 되어야지...



1)피봇을 만든다
2)챠트의 원본이 될 만한 정보를 정리한다
3)피봇은 버린다
4)챠트의 원본이 되는 테이블의 각각 데이타계열을 찾아낸다
5)챠트를 그린다..데이타계열을 연결한다
6)챠트의 데이타계열을 상수로 바꾸어 버린다
7)챠트의 원본이 되었던 테이블도 날려 버린다
8)말짱하게 챠트만 남는다

위와 같은 순서로 해보시기 바란다
이럴때는 ProtoType을 하나만 잘 만들면 된다
하나의 ProtoType를 만들기를 돕기 위한 챠트페이지 문제를 우선 풀어보시기 바란다
그리고 필요한 갯수만큼 순환시켜면 되는 것이다

위와 같이 뚝딱 만들어내는 능력은...
your ability making like above in a blink of eyes would make your boss
falls in love with you!!!! ha..ha...
당신의 보스가 당신에게 사랑에 빠지게 만들 것이다..

아래화일은 챠트를 만들고..
챠트개체가 제공하는 ChartTitle은 보기가 별로 좋지 않다
챠트에 도형을 하나씩 별도로 만들어 각 직원의 이름을 붙였다


BrainTraining_Pivot_4.



한가지 하지 않은 것은
챠트와 쏘스테이블이 수식으로 연결된 상태다
수식은 파워풀하지만 문서가 복잡해지면 왠만하여 죄다 끊어버리는 것도
테크닉이다..
다음 화일에서는 수식을 끊어 버리고
쏘스테이블시트도 없애서 화일을 가볍게 해보자
원본-->피봇-->챠트용요약테이블-->챠트 한후
챠트외에는 전부 백데이타인 셈이다..없애버리자..
각자 시도 해보시고 성공하면 보실 필요 없고
실패하여 값진 화일이 될 것이고!!


두번째 문제 원본시트를 없애고 챠트는 그대로 살아있게 하기 위하여
챠트가 참조하는 주소값을 상수값으로 바꾸는 문제를 풀어 보셨는지??

요점은
=SERIES(,Sheet57!$B$2:$I$2,Sheet57!$B$3:$I$3,1)
로 된 것을
=SERIES(,{"귤","바나나","배","사과","오렌지","참외","키위","포도"},{141,94,90,121,121,138,74,76},1)
와 같이 바꿔주고 원본을 삭제 해버리면 된다

알아야 할 문제는..
1)챠트의 수식이 어떻게 구성되었는지를 알아야 하고
2)문자열정보인 항목축과 숫자정보인 값축을 구분할줄 알아야하고
3)범위를 배열상수로 변환하여야겠다는 생각이 들어야 하고
4)수식을 갖고 있는 챠트개체의 하위개체는 어떤 녀석인지 알아야하고
5)문자열을 토막냈다,조립했다 하는 문자열내공이 있어야 할 것이다


BrainTraining_Pivot_5.



훨씬 화일이 가벼워진다..
프로그래머는 항상 효율과 모든 것은 스림(Slim)하게 꾸며가려고
노력해야 한다
위와 같이 만든것이 흔히 말하는 요약정보만 앞전에 예쁘게
내놓는 대시보드(Dash Board)의 기본이 되는 것..
다음 문제에서 또!!