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

Excel & VBA---Brain Training




엑셀 프로그래밍은 재미있다
어떤때는 전혀 사용하지 않던 함수를 뒤져보아야 하는
문제를 갖여 오시는 분들이 있다
그럴때마다 새로운 함수를 찾거나..기억에서 아물 거리는 함수를 다시 뒤적거린다
그래서 지루하지 않고 재미있다
최근에 기계공학을 전공하신 분의 구조물에 관한 소루션을 코칭하기 위하여
삼각함수를 뒤적거렸다
그 부산물중의 몇개를 같이 보도록 하자

삼각함수의 가장 기초적함수를 이용한 아래의 구문을 실행 시켜보시면

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.