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