본문 바로가기

TRANSPOSE3

[기초방] VBA 100제 #7 [ 행렬변환 ] 왼쪽에 있는 데이터를 오른쪽에 있는 표 테이블에 입력하는 구문 Transpose 쓰기 없기로 했더니...아주 가~~~관이다.. 잔머리님도 모카님 닮아가시는지 함수로 해결해버리셨다. 아~~ 고인물들 딱총님도 약간의 변형을 했지만 결국 엑셀 함수형으로 완성하였다 무지님만이 유일하게 For each 로 풀었다. 풀이를 하자면 찾는 상품명을 찾아서 그것을 Find_Cell로 선언한 후, Find_Cell을 순환하면서 각각의 값들을 셀에 찍는 코드이다. 아무리 트랜스포스를 안쓰려고 해도 이것보다 쉽고 간편한게 없어...슬쩍 트랜스포스 쓰고 달아나려한다. 더보기 Option Explicit Sub 행렬변환A() Dim rngAll As Range: Set rngAll = [ae9:ah9] Dim rngA As Ra.. 2023. 1. 4.
[VBA] 주문자별 상품별로 분류하기(Feat. 정규식) 파일을 만든 날짜를 보니 21.05.20에 만든 파일이다. 이걸 어떤분이 질문했던 내용으로 알고 있다. 물류에서 쇼핑몰 상품리스트가 들어왔을 때 이걸 주문자명으로 분류하고 다시 상품으로 분류하고 마지막으로 상품갯수로 분류하는 것이다. 주문 상품을 어떻게 분류할지의 알고리즘을 짜는게 관건이다. 또한 주문자의 상품의 종류와 갯수에 계속 배열의 크기가 달라지기 때문에 Vall( 1 to 7 , 1 to N) -> WorksheetFunction.transpose(Vall)로 결과 출력을 해야한다. 동적배열은 행은 증가되지 않고 열방향으로만 크기가 증가된다.(정말 중요하다) 너무너무 중요하고 아름다운 코드이다...꼭 기억해두길 바란다. Option Explicit Sub 상품나누기() Dim Vall() '= .. 2022. 4. 10.
[VBA_Dictionary] 데이터 재배치 앞서 SELECT CASE를 통해 데이터 재배치를 해보았다. 먼저도 언급했지만 SELECT CASE는 고유값이나 선택 구간들이 조금이라도 늘어난다면 그 늘어난 구간만큼 코드들을 더 나열해야 함으로 반 하드코딩이라고 해도 과언이 아니다. 고유값을 도출하고 그 값에 따른 재가공이 필요하다면 그냥 D.I.C.T.I.O.N.A.R.Y 쓰면 된다. 잘 모르겠으면 그냥 외우길 추천한다. 한번 외우고 사용하는게 당신의 생명연장 꿈을 이뤄줄 수 있다. 데이터 영역안에서 딕셔너리의 키값과 아이템값을 모두 도출하였다면 여전히 뜨거운 감자인 딕셔너리의 키값과 아이템을 우리가 보기 원하는 방향으로 행열변환을 해야하는 순간과 맞닿게 된다. 가장 빠르고 편한 것은 APPLICATION.TRANSPOSE로 키값과 아이템값을 한번에.. 2021. 8. 10.