본문 바로가기

VBA271

[VBA_달팽이알고리즘] 단순반복 VS 재귀함수 알고리즘을 굳이 vba로 할 필요가 있을까 하는 분들이 계신다. 엑셀의 단순 반복을 피하기 위해 VBE를 통한 VBA를 구현을 하고 계신 분들은 분명 그럴 수 있다. 허나 내가 이 블로그를 운영하고 어줍지 않게 글을 써내려가는 이유는 한정된 기능밖에는 사용하지 않는 분들이 지식의 목마름(?) 같은 것을 해결하시기에 필요한 블로그가 되고 싶었기에 알고리즘 문제에 좀 더 열을 내는것 같다. 알고리즘 문제를 풀게되면 일단 For이나 For each상에서의 셀의 움직임을 좀 더 정확하게 이해하고 구현할 수 있다. 그래서 프로그램 언어를 배우면 그렇게 [*]을 찍어내고 초2때도 그리 외웠던 구구단을 For문으로 그리 작성하나 보다 코드를 보면 [ㄱ]자 형태로 먼저 만들고 [ㄴ]자 형태로 아래에서 위쪽으로 올라오면.. 2021. 9. 6.
[vba_Min/Max] 월별 매출데이터 최소값 최대값 구하기_Pivot 준빠님이 쏘아올린 한마디.... 피벗테이블로 최소값 최대값으로 하면 안될까요??? 문제를 푸는데는 여러가지 방법이 있다. 가장 최적의 코드로 풀 수 있는 방법을 얼마나 빨리 찾느냐.. 그게 내가 코드를 만드는 이유라고 할때, 열심히 딕셔너리 조합으로 문제를 풀고 있을 때 엑사남 오픈챗방에 같이 있는 준빠님의 한마디에 3일동안 피벗 코드만 보았다. 와!! 피벗 매력있다... 그래서 3일동안 거품 물고 풀었던 피벗 구문을 올린다. 물론 아직까진 다른 코드들 보다는 원활하지 않고 최적화되진 않았지만 내가 느꼈던 이 신선함을 많은 이가 함께 공유하기를 바란다. 하고 나서 알았다. 준빠님이 의도한건 이런게 아니었다는 걸 ㅠ,.ㅜ 2021. 9. 2.
[VBA_Min/Max] 월별 매출데이터 최소값 최대값 구하기 이번에 풀어본 문제는 매출데이터가 월별로 있을 때 각팀에서 매월 최소값과 최대값을 구하는 것이다. 일단 기본적으로 1월부터 12월까지 12번을 열 방향으로 순환을 해야 하고 각 팀에서 값들을 서로 비교하며 최소값과 최대값을 구해야 하는 문제의 난이도 보다는 좀 귀찮은 문제이다. 처음에 구해본 방식은 딕셔너리를 두개를 선언하여 하나는 최소값을 하나는 최대값을 구해서 총 12번을 순환하는 코드를 만들어 보았다. 딕셔너리를 한번만 사용해서 아이템값에 배열로 넣어서 V(0)에 최소값 / V(1)에 최대값을 넣어보려 했지만 일단 들어는 가는데 수정이 되질 않았다. 시간내어서 다시 도전해 보려고 한다. 두번째 방식은 Consolidate 이다. https://1stminokingdom.tistory.com/8 [V.. 2021. 8. 29.
[VBA_재귀함수] 조합수만큼 나열하기 이번에 만들 조합은 외부로부터 문자열과 조합수를 입력받은 후 모든 순열을 출력하는 구문이다. 이글을 처음 보시는 분은 이전 글을 먼저 보고 오길 바란다. https://1stminokingdom.tistory.com/20 [VBA_재귀함수] 모든 경우의 수 순열구하기 VBA를 배우는 것중 또 하나는 알고리즘을 하나둘씩 배워가는 즐거움이 있다. 최근에 가장 좋아하는 알고리즘으로는 재귀문인데 문제를 접할 때마다 풀기 싫지만 풀면 뿌듯한 뭐 이런 이상한 기 1stminokingdom.tistory.com 구문은 이렇다. Inputbox를 통해서 문자열을 입력받고 , 조합수를 입력 받으면 재귀함수를 호출하여 모든 순열을 조합하여 화면에 뿌려주게 된다. 어차피 이것도 구문의 루틴이 있기 때문에 많이 보고 많이 연.. 2021. 8. 28.