본문 바로가기

배열정렬2

[기초방] VBA 100제 #66 [ 문자열 정렬하기(feat. 배열정렬) ] 문자열을 정렬하는 구문이다. 정렬을 위해서 지나칠 정도로 꼬아놓은 문제이다. 우선 몇일동안 본인이 올려놓은 코드들중에 일부 코드가 오피스 2019버전 이하에서는 적용이 안될수 있다. 이번 문제를 풀기 위해서 키 역할을 한 녀석이 SortBy인데 역시 하위버전에서는 작동이 안될 수 있다. 우선 엑셀 sort 함수를 이용한 배열 정렬이다. ReDim maxNum(1 To UBound(Vall, 1), 1 To 2) For Each Va In Vall i = i + 1 maxNum(i, 1) = Va maxNum(i, 2) = .MaxIfs(rngAll.Offset(, 1), rngAll, Va) Next Va maxNum = application.Sort(maxNum) 배열을 정렬하여 maxNum 배열에 넣.. 2023. 9. 21.
[기초방] VBA 100제 #56 [ 문자열 조합 + 정렬하기 ] 문자열을 조합하는 구문이다. 56번은 엑셀 365함수를 이용하여 textjoin을 함수의 빈셀포함을 적용하면 나오는 똑같은 결과를 가져오는 구문이다. VBA 의 join함수를 사용하려면 1차원 배열 형태여야 하기 때문에 2차원 배열을 1차원화 하는 방법을 가져와야 한다. Vtemp = rngA.Resize(1, 5) V = Application.Index(Vtemp, 1, Array(1, 2, 3, 4, 5)) Cells(rngA.Row, "h") = Join(V, ",") 영역을 동적배열로 다이렉트로 가져오게 되면 2차원 배열이 되는데 이 2차원 배열을 1차원 배열화 하려면 슬라이싱 작업을 거쳐야 한다. Array(1, 2, 3, 4, 5)는 열의 갯수를 의미한다. 56-1은 셀에 출력 후 가로 정렬을.. 2023. 7. 7.