엑셀 프로그래밍은 재미있다 어떤때는 전혀 사용하지 않던 함수를 뒤져보아야 하는 문제를 갖여 오시는 분들이 있다 그럴때마다 새로운 함수를 찾거나..기억에서 아물 거리는 함수를 다시 뒤적거린다 그래서 지루하지 않고 재미있다 최근에 기계공학을 전공하신 분의 구조물에 관한 소루션을 코칭하기 위하여 삼각함수를 뒤적거렸다 그 부산물중의 몇개를 같이 보도록 하자 삼각함수의 가장 기초적함수를 이용한 아래의 구문을 실행 시켜보시면 Sub createCircle() Dim iCenterX As Integer Dim iCenterY As Integer Dim iRadious As Integer Dim shpLine1 As Shape Dim shpLine2 As Shape Dim shtX As Worksheet Set shtX = ActiveSheet iCenterX = 200 iCenterY = 200 iRadious = 100 Dim sngX As Single For sngX = 0 To 3.14 * 2 Step 3.14 / 32 ........shtX.Shapes.AddLine iCenterX, iCenterY, _ ............................................iCenterX + iRadious * Sin(sngX), _ ............................................ iCenterY + iRadious * Cos(sngX) Next End Sub 와 같은 도형 선(Line)이 그리라는 갯수만큼 그려진다 더 많이 그리고 싶으면 순환문의 순환횟수만 조정하면 된다 위의 원리를 이용하여 선의 끝나는 점에 원(Oval)을 하나씩 달아 보시기 바란다 Shapes.AddShape(msoShapeOval,,,) 하시면 되는 것이니까.. 그냥 선끝에 다는 것은 너무 쉬울 것같으니까 그 위치에서 오른쪽으로 적절히 OFFSET시켜서 표현해 보시기 바란다 이미 중심점 X,Y위치를 주어졌으니까.. 그곳에서 시작되는 선의 끝부분의 X,Y값을 알면 된다 SIN함수와 COS함수는 쥐뿔..바로 이 X값과 Y값을 찾아주는 함수라는 것만 알면 재미있을 것이다 BrainTraining_066_11. 중학교때 삼각함수기억을 되살려서.. 각도와 레이언값..Sin함수..Cos함수등등을 엑셀의 도형과 VBA에 적절히 활용하면 재미있는 표현들을 할수 있을 것이다
순환문을 돌리면서 변수를 적절히 바꿔주는 테크닉을 키우자 순환문속에서 적절히 변수를 바꿔서 진행의 흐름을 콘트롤 하는 것은 참으로 중요하다 그렇지 못하면 한참을 헤메고..코드는 복잡해지고 아래의 그림과 같이 처음 시작 브록의 개수와 어떻게 그릴것인지의 두개의 정보를 받아서 아래와 같이 사각형을 쌓아 보시기 바란다 거참 이딴것이 무슨 프로그래밍테크릭에 도움이 될까??? 싶으시겠지만..내공을 쌓는데는 이딴것이 최고다.. 머리를 써서 구현을 해보시기 바란다 비슷한 문제가 만약 이전에 있었다하더라도 해법은 다르다 Do Loop 문에서 For Next문을 제어하는 것이 요령이고 중요한 개념이고 많은 문제의 해법이 될 수 있을 것이다 BrainTraining_066_12.