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

Excel & VBA---Brain Training




도형을 어디다 써먹나??
써먹는다고 하는 것은 얼마나 창의력이 있냐는 것이다
써먹다!!!
우노라는 인적자원을 잘 써먹는 분들도 많다
창의적인 것이고 융통성있는 방법이다
우노도 잘 써먹고..uno21.com도 잘 써먹기 바란다

자원을 잘 활용하는 것이다
도형도 배웠으면 써먹어야 한다
Best use of something or somebody you know!!!
참으로 중요한 것이다
아무리 많이 배우고 많은 사람을 알면 뭐하나??
하나를 알면 열개로 써먹을수 있는 융통성과 창의력이 있어야 하는것이지!!
엑셀에서 제공하는 챠트는 별로 매력이 없다
아래와 같이 만들어 놓고 테이블의 값이 바뀔때마다
행방향 정보
열방향 정보에 따라서 도형으로 스스로 만든 시간적 표현을 도형으로
해본다면 좋지 않겠는가?



파랑색테이블의 수식을
=FLOOR(INT(RAND()*100)+100,10)
로 하여 난수가 발생하게 하고
이 값이 바뀔때마다 오른쪽열과 아래쪽행의 작은 셀속에 들어가 있는
4개의 도형으로 구성된 시각적 표현을 도형으로 하는 것이다
외국사람들이 흔히들 즐기는 In-Cell-Chart인 셈이다
그렇게 만들어서 비싸게 팔더군!!!
여러분 스스로 만들어 보시기 바란다
또한 F9키를 두들겨서 계산되어 바뀌는 값은
Worksheet_Change이벤트프로시져는 작동하지 않는다
어떤 이벤트프로시져를 사용하여야 할까..
이것도 문제다!!


BrainTraining_066_7.



그냥 보기만 하지 마시고 꼭..한번씩 직접 코딩을 해보셔야 자기것이 됩니다
의문나는 것 가차없이 질문하시고..

이제 도형을 정보를 분석하는 것의 액서사리로 활용해보자
우선 아래와 같이 테이블형식의 것을 TREE형식으로 정보를 바꾸는 작업을 해보시기 바란다
순환문연습도 되고 머리를 좀더 쓰는 기회가 될 것이다



문제를 풀 데이타화일

BrainTraining_066_8_Q.


데이타 분석을 할때 그룹핑을 하는 것은 기본적으로 할 일이다
그 것을 좀더 시각적으로 뽀데나게 표현해 보는 것이다


BrainTraining_066_8.



이번에는 아래의 그림과 같이 도형으로 셀의 내용을 그대로
옮겨보자
위에서 테이블을 Tree형식으로 셀에 옮긴 것은 도형을 그리기 위한
밑바탕작업이였다
직접 테이블의 정보를 읽고 직접도형작업을 해도 되지만
초보님들에게는 셀에 밑작업을 하고 옮기는 것이 좀 수월 할 것같다
그러니 표현해 보시기 바란다
Range의 성질을 알고, 도형의 성질을 알면 되고 VBA코딩테크닉이 좀 가미되면 된다
특별한 것없다 지금까지의 속성이나 메소드면 된다



알고 나면 우습기짝이 없게 쉽다!!

셀에 있는 텍스트를 도형을 그린후 도형속에 텍스트를 넣고
셀의 내용을 지워 버리면 도형만 남게 되겠지
문제는 도형에 문자를 넣을때 문자의 길이가 긴것도 있고 짧은 것도 있는데
일일이 문자의 갯수를 카운트해서 도형의 크기를 결정한다면 피곤한 일이다

For Each rX In 문자가있는범위.Cells
문자가 있는 셀만 찾아서
.....If rX <> "" Then
도형의 사이즈를 그냥 폭=1,높이=1로 하고
.....Set shpX = shtX.Shapes.AddShape(msoShapeRectangle, rX.Left, rX.Top + 3, 1, 1)
.....shpX.TextFrame.Characters.Text = sX & rX
.....shpX.TextFrame.Characters.Font.Name = "맑은 고딕"
.....shpX.TextFrame.Characters.Font.Size = 10
TextFrame오브젝트의 AutoSize속성을 True로 해주면 문자의 갯수에 맞게
알아서 크기를 조정한다
.....shpX.TextFrame.AutoSize = True
.....shpX.Name = "shpX" & rX.ID
셀의 내용을 지워주고
.....rX = ""
.....End If
Next



위의 셀에 작게 그리는 챠트(In Cell Chart)는 오피스2010버전에서는 자체적으로
지원이 된다..
웹폰을 지향하는 시대가 되지 최대한 작게 표현하여야 겠지


BrainTraining_066_9.