알고리즘을 굳이 vba로 할 필요가 있을까 하는 분들이 계신다.
엑셀의 단순 반복을 피하기 위해 VBE를 통한 VBA를 구현을 하고 계신 분들은 분명 그럴 수 있다. 허나 내가 이 블로그를 운영하고 어줍지 않게 글을 써내려가는 이유는 한정된 기능밖에는 사용하지 않는 분들이 지식의 목마름(?) 같은 것을 해결하시기에 필요한 블로그가 되고 싶었기에 알고리즘 문제에 좀 더 열을 내는것 같다.
알고리즘 문제를 풀게되면 일단 For이나 For each상에서의 셀의 움직임을 좀 더 정확하게 이해하고 구현할 수 있다.
그래서 프로그램 언어를 배우면 그렇게 [*]을 찍어내고 초2때도 그리 외웠던 구구단을 For문으로 그리 작성하나 보다
코드를 보면 [ㄱ]자 형태로 먼저 만들고 [ㄴ]자 형태로 아래에서 위쪽으로 올라오면서 숫자를 출력하게 된다. 그러기에 [ㄱ] 자 형태는 열방향이 끝나면 행방향으로 +1씩 하면서 열과 행이 바뀌지만 [ㄴ] 자 형태에서는 -1씩 행과 열이 감소하면서 숫자를 출력함으로 전환변수에 (-1)을 곱하여 방향을 바꿔주여야 한다.
또한 열과 행의 진행 방향으로 봤을 때
전체열에 번호 출력 | |||
전체행 -2 |
전체열 -2 | 전체행 -1 |
|
열 -3 | 행 -3 | ||
전체열 -1 |
이 되기 때문에 각 열과 행에서 X변수의 값을 열방향과 행방향일 때를 유념하여 사용해야 한다.
오늘보다 더 나은 개발자가 되길 희망하며....
'VBA' 카테고리의 다른 글
[VBA_로직] 데칼코마니 로직 / 삼각형 로직 (0) | 2021.09.08 |
---|---|
[VBA_고유값] Dictionary+ArrayList (0) | 2021.09.07 |
[vba_Min/Max] 월별 매출데이터 최소값 최대값 구하기_Pivot (0) | 2021.09.02 |
[VBA_Min/Max] 월별 매출데이터 최소값 최대값 구하기 (0) | 2021.08.29 |
[VBA_재귀함수] 조합수만큼 나열하기 (0) | 2021.08.28 |
댓글