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

Excel & VBA---Brain Training




도형이 유용할까???
라고 하신다면 아래와 같은 표현을 보시면 좀더 관심을 갖고
잘 하시고 싶은 동기부여가 되시려나???
아래는 우노가 상업적으로 활용하는 도형의 표현중의 일부다



답답한 테이블의 내용을 분석하여 시각적으로
한눈에 볼 수 있는 다이아그램의 자동화 구현이 되는 것이고
그래서 엑셀이 뛰어나고 VBA가 뛰어나고
도형이 화려함이 논리의 시각적표현을 뒷받침 해준다
그러니 열심히들 하시기를..
다른 일이 너무 바뻐서 전혀 시간이 안난다면 할 수 없는 일이지만
하루의 일과를 따져서 그냥 멍하니 있는 시간이 있다면
무언가를 해야 하고 무언가가 막연하다면 엑셀을 하시면 된다
허접한 남이 만든 께임에 영혼을 팔고 있는 것보다 훨씬 재미있고 생산적이다

위와 같은 복잡한 다이어그램을 그리려면 무엇이 필요할까??
엑셀이 더 많이 필요할까
생각을 바탕으로 하는 VBA가 더 필요할까?
언젠가 복잡한 다이어그램을 그리는 로직을 검토해 달라고 갖여왔다
다음 순서에 쫓아올 도형을 그리기 위한 도형의 위치를 찾는 것 조차도
엑셀에게 신세를 지려고 하니
공연히 필요없는 여러개의 시트에 엑셀수식을
잔뜩 때려넣게 되고 이놈이 저놈 참조하고 저놈이 저~어쪽 놈 참조하고
얽키고 섥키고..
복잡함의 극치를 보였던 기억이 난다..
VBA로 처리할 일을 엑셀에게 신세를 너무 지게 되면
효율이 떨어지고 속도가 떨어지고 버벅거림을 면치 못한다
그리고 엑셀에게 지나치게 일을 맡기고 신세를 지면 엑셀이
여러분을 깔보고 버벅거리고 골탕을 먹인다..하하!!

엑셀은 몇가지를 알면 그냥 공식대로 결정된다
그냥 매크로 기록기를 걸고 도형을 그리면 그대로 도형을 어떤 오브젝트를
사용하고 어떤 값을 주면 어떤 모양이 나오는지 기록된다
그래서 그냥 엑셀은 메뉴얼대로 공식대로 움직인다
문제는 이 공식대로 움직이는 놈들을 자신의 업무에 필요하거나
자신의 아이디어를 표현하려면 지극히 간단한 VBA언어이지만
생각대로 꽃을 피우는 VBA능력이 훨씬 더 필요하게 된다
그래서 Brain-Training이라는 이름으로 계속 씨리즈를 만들어 가려고 하는
의도는 VBA의 단순함을 숙달시키는 훈련장으로 하기 위함이다

단순함은 훈련이 엄청 필요한 대상이다
단순함속의 복잡함...복잡함속의 단순함..가히 음과 양의 조화다
이런 철학을 느끼려면 단순함을 수도 없이 반복하여
그 속의 복잡함을 음미할때가 아하!!!!하는 경험을 하는 순간이 된다

VBA는 엑셀로 표현하기 귀찮으면 엑셀에 배신을 때리고
파워포인트를 불러서 사용해도 좋고..
워드를 불러서 사용해도 좋고..
그냥 텍스트화일을 불러서 사용해도 좋고
엑셀...너는 창고로서 활용가치가 없어..하고 억세스를 불러서 모든 정보를
억세스로 옮겨버려도 좋고
VBA는 참 독립적이다..엑셀이나 워드등에 붙어서 살면서도
참으로 독립적이라고 할 수도 있다

그러나 역시 엑셀이 VBA가 놀기가 가장 좋다
왜냐하면 이놈이 참으로 기특한 표현능력,일에 대한 수행능력이 뛰어난 놈이니까..

아무리 생각이 좋아도 이것을 실천시키지 못하면 헛일이다
엑셀은 여러분들의 생각을 실제로 구현시키는 능력을 갖고 있는것이다
여러분의 생각을 앞뒤를 잘 조정하여 잘 구성조합하여 엑셀에게
주면 엑셀은 표현을 한다
이 중간에 VBA가 있는 것이다
엑셀과 여러분의 생각의 중간고리 VBA
그렇게 아시고..
이번에는 도형의 그림자를 관리하는 ShadowFormat이라는 오브젝트를
다루어 보도록 하자
각각의 오브젝트의 성질머리를 잘 알아야 일을 시킨다

Dim shpX As Shape
Set shpX=Worksheets("시트").Shapes.AddShape(..)
shpX.Shadow......

라고 해도 되고

Dim shpX As Shape
Dim oShadow As ShadowFormat
Set shpX=Worksheets("시트").Shapes.AddShape(..)
Set oShadow=shpX.Shadow
oShadow.......

해도 되고..

아래 화일에서 도형의 그림자는 종류가 몇개나 있는지
그리고 그림자를 도형에서 얼마다 X,Y방향으로 이동 시켜 마치 별개의
도형같이 갖고 놀수 있는지 에니메이션 해보면서 VBA의
순환문에 이력이 나도록 해보고 배열을 이럴때도 사용하는구나
상수와 문자열값의 착각에서 벗어나는 문제도 보도록 하자




BrainTraining_066_3.