vb6.0/vba [vba] 세로 데이터를 날자 기준으로 가로로 정리 및 가로데이터 오름차순 정렬
페이지 정보
본문
Q:지식인 질문 내용입니다.
아래와 같이 왼쪽데이터를 날짜를 기준으로 오른쪽처럼 정리를 하고자 합니다.
A:아래는 답변내용입니다.
왼쪽 데이터를 매크로 실행 후 오른쪽과 같은 결과가 나왔습니다.
아래는 액셀 vba 매크로 소스코드입니다.
Sub program1472_com()
Dim C As Range, R As Range
Set C = ActiveSheet.UsedRange.Offset(1).Resize(, 1) '// 순환할 날짜가 있는 셀
[i1].CurrentRegion.ClearContents '// 기존 결과값 모두 초기화
[i1].Resize(, 4).Value = [a1].Resize(, 4).Value '// 해더를 복사해서 넣음
For Each C In C '// 날짜가 있는 셀을 순환하면서
If Len(C) > 0 Then '// 빈셀이 아니면
Set R = Columns("I").Find(what:=C, LookIn:=xlValues, LookAt:=xlWhole) '// I열에서 같은 날짜를 찿음
If R Is Nothing Then '// 찿는 날짜가 없으면
Cells(Rows.Count, "I").End(3)(2).Resize(, 4).Value = C.Resize(, 4).Value '// 마지막 다음행에 추가
Else '// 찿는 값이 있으면
Set R = R.End(xlToRight).Offset(, 1) '// 오른쪽 긑 다음셀을 찿음
R.Resize(, 3).Value = C.Offset(, 1).Resize(, 3).Value '// 값을 붙여넣음
Cells(1, R.Column).Resize(, 3).Value = [B1:D1].Value '// 해더를 넣음
End If
End If
Next
With ActiveWorkbook.ActiveSheet.Sort '// 정렬에 대해서
.SetRange [i1].CurrentRegion '// I1셀에 인접한 모든셀을
.Orientation = xlLeftToRight '// 왼쪽에서 오른쪽으로 정렬
.Apply
End With
End Sub
2020-09-03+dirId=102020101&docId=367003538+세로데이터 날자별 가로정렬.xlsm
- 이전글[vba] Collection을 활용한 중복값 없이 랜덤 추출하기 20.09.04
- 다음글[vba] 고급필터(AdvancedFilter)를 이용한 지정한 구간의 날짜검색 20.09.04
댓글목록
등록된 댓글이 없습니다.