엑셀 VBA #90 / 데이터재배치 [VBA]
Sub vba90강231231()
Dim rng As Range, c As Range
Dim nc As New Collection
Dim j As Long, i As Long, k As Long
Dim a()
' C열 데이타를 텍스트 타입으로 바꾸기
Set rng = Range("c5", Cells(Rows.Count, "c").End(3))
rng.TextToColumns Destination:=rng, fieldinfo:=Array(1, 2)
'정렬하기
Range("b5", Cells(Rows.Count, "c").End(3)).Sort Range("b5", Cells(Rows.Count, "c").End(3))(1, 2)
'New Collection & 배열 접목
On Error Resume Next
For Each c In rng
nc.Add Trim(c), CStr(Trim(c))
Next
On Error GoTo 0
j = 1 'j의 초기값을 설정하지않으면 0부터 시작함..nc의 초기값은 1이므로 본 코드 필요
i = 5
Range("e4").Select
Do
Do While Cells(i, "c") = nc(j)
ReDim Preserve a(k)
a(k) = nc(j) 'nc(j)의 값을 동적배열 a변수에 집어 넣기
ActiveCell.Offset(1) = k + 1
ActiveCell.Offset(1, 1) = nc(j)
ActiveCell.Offset(1).Select
k = k + 1
i = i + 1
Loop
j = j + 1
k = 0
Erase a
ActiveCell.Offset(1).Select
Loop While j <= nc.Count
End Sub
반응형
'엑셀로 풀어가는 세상' 카테고리의 다른 글
[VBA] Dictionary에 대한 이해3 - Dictionary & Collection1 (0) | 2024.01.17 |
---|---|
[VBA] Dictionary에 대한 이해2 - Double Dictionary (0) | 2024.01.16 |
[VBA] Dictionary에 대한 이해1 (0) | 2024.01.11 |
엑셀 VBA #93 / 특정 폴더 내, 파일통합_VBA필수 [VBA] (0) | 2024.01.04 |
엑셀 VBA #85 / 이벤트 프로시저와 find 메서드 활용하기 [VBA] (1) | 2023.12.30 |
엑셀 VBA #127 / Vlookup시리즈3_배열+Dictionary활용 [VBA] (0) | 2023.12.28 |
VBA - Dictionary(Late vs Early Binding) by 우노사설 (0) | 2023.12.23 |
[엑셀이뭐니]매크로 기초 11강-Match 함수로 찾기(응용편)/ 중단모드 해제하기/ 엑셀 VBA 기초 (0) | 2023.12.21 |