본문 바로가기

엑사남171

[VBA_Array Slicing] 랜덤한 이름생성하기 VBA를 공부를 하게되면 여러 가지 데이터 변형을 통해서 가공해야 할 데이터의 크기를 달리해야 할 때가 있다. 그럴때마다 아버지를 아버지라고 못 부르고 형을 형이라고 못 불렀던 [홍길동]을 분실술을 써가면 홍길동1, 홍길동2,.......이렇게 하고 나면 데이터 처리가 만족스럽게 되더라도 뭔가 실무 느낌이 들지 않는다. 그렇다고 열심히 성씨, 가운데이름, 마지막 이름등을 조합을 기껀 했는데 윤죽 옹탱문 로름양 학타맥 빈휘 묵곤참 다감 장내치 심약막 은몌충 필즉여 견악만 금형능 정우량 금거 양략갑 탄졸을 우즐즐 단총짐 이런 이름들이 나오면 차라리 홍길동이 나을 듯하다. 혹시......... 본인이 이름이 있다면 미안!!!!!!합니다. 우선 인터넷에서 2008년부터 2021년까지 태어난 아이들의 남자아이와 .. 2021. 8. 12.
[VBA_Vlookup] Vlookup은 사랑이다. 엑셀을 배울때 Vlookup을 배우고 나서는 이녀석과 늘 씨름을 하였다. 많은 영역을 가지고 있는 data에서 실제 값을 도출하려는 시트에서 함수식으로 그 영역을 채우고서는 수정하나 할려면 아직도 쌩쌩한 PC가 부들부들 떠는걸 보실 수 있다. 그래서 그꼴보기 싫어서 다늙어서 꾸역꾸역 VBA를 배우고 있는 이유이기도 하다. 허나 당신이 Vlookup을 안쓰려고 해도 Vlookup 한방이면 될거 같은 상황이 의외로 많이 접하게 된다. 그러니 불편한데도 당신이 야구 감독이라면 오늘도 Vlookup을 선발로 기용하게 될 것이다. Vlookup의 대안으로 VBA코드들이나 파워쿼리를 이용하는 방법도 있긴 당신은 쉬운길로 갈 수 있는 걸 꼴보기 싫다고 억지로 돌아가는 수고스러움을 굳이 본인 체력을 볼모로 하게 될것이.. 2021. 8. 11.
[VBA_Dictionary] 데이터 재배치 앞서 SELECT CASE를 통해 데이터 재배치를 해보았다. 먼저도 언급했지만 SELECT CASE는 고유값이나 선택 구간들이 조금이라도 늘어난다면 그 늘어난 구간만큼 코드들을 더 나열해야 함으로 반 하드코딩이라고 해도 과언이 아니다. 고유값을 도출하고 그 값에 따른 재가공이 필요하다면 그냥 D.I.C.T.I.O.N.A.R.Y 쓰면 된다. 잘 모르겠으면 그냥 외우길 추천한다. 한번 외우고 사용하는게 당신의 생명연장 꿈을 이뤄줄 수 있다. 데이터 영역안에서 딕셔너리의 키값과 아이템값을 모두 도출하였다면 여전히 뜨거운 감자인 딕셔너리의 키값과 아이템을 우리가 보기 원하는 방향으로 행열변환을 해야하는 순간과 맞닿게 된다. 가장 빠르고 편한 것은 APPLICATION.TRANSPOSE로 키값과 아이템값을 한번에.. 2021. 8. 10.
[VBA_Sum vs Consolidate] 병합과 합계구하기 몇일전 같은 연번 내에서 부분합을 구하는 코드를 작성하면서 Consolidate의 발견은 나에게 만큼은 콜롬버스의 신대륙 같은 것이었다. 해서 몇일전 비슷하게 작성했던 코드를 심기일전하여 이 게임체인저 같은 녀석을 적용시키기 위해서 코드를 비교해보기로 했다. 공동코드는 기준점인 rngM을 기준으로 병합된 셀의 크기를 M_cnt 변수에 담아서 같은 연번을 resize의 크기로 영역을 한정하였다. 처음 코드는 한정된 영역을 엑셀 함수인 Sum함수로 그 영역의 합계를 구하였다면, 두번째 코드는 Consolidate로 합계를 구하였다. 육안으로 보기에도 처음 코드가 더 깔끔해 보일것이다. VBA를 처음 입문할 때 엑사남님께서 이런 말을 하신적이 있다. VBA 잘하고 싶다고요 그럼 엑셀을 공부하세요 그렇다. VB.. 2021. 8. 8.