Option Explicit
Sub Data_Merge()
Dim i As Integer, j As Integer, colcnt As Integer
Dim cel1 As Range, Ref1st As Range
Dim cel2 As Range, Ref2nd As Range
Set Ref1st = Range("A2", Range("A65536").End(xlUp))
Set Ref2nd = Range("B2", Range("B65536").End(xlUp))
' 화면 갱신 중지
Application.ScreenUpdating = False
' 순환하고자 하는 컬럼의 갯수를 세어줌, 적은 경우 직접 세어서 입력
colcnt = Application.CountA(Range("C1", Range("C1").End(xlToRight)))
For Each cel1 In Ref1st ' 첫번째 영역 순환
If Len(cel1) > = Then ' 첫번째 영역이 비어있지 않으면 다음 영역 순환
For Each cel2 In Ref2nd ' 두번째 영역 순환
For i = 0 To colcnt - 1 ' 칼럼 위치별 순환
Cells(j + 1, 7) = cel1 & "-" & cel2 & "-" & Cells(1, i + 3)
Cells(j + 1, 8) = cel2.Offset(0, i + 1)
j = j + 1 ' 컬럼을 증가시킨만큼 행을 이동해 줌
Next i
Next cel2
End If
Next cel1
' 화면 갱신
Application.ScreenUpdating = True
End Sub
6월 13 2016
엑셀(EXCEL) – 피봇으로 정렬된 데이터를 Raw데이터로 분리해서 한셀에 합치기
엑셀이란 프로그램으로 데이터를 다루다 보면 대부분의 데이터들이 격자에 담겨 있어
이것은 (x,y)좌표처럼 어떤 함수로 다룰 수 있다는 것입니다. 그 함수를 찾아내는 것이
VBA를 잘 다루는 능력이라 봅니다.
http://www.clien.net/cs2/bbs/board.php?bo_table=kin&wr_id=3747908
데이터를 격자행으로 사람이 보기좋게 분리해 두었는데 컴퓨터가 보기좋게 행으로
분리하였다가 또 그것을 한 행으로 합치는 것이 위 질문의 요지입니다. 결국 두 액션은
하나로 뭉쳐 하나인 것처럼 보이지만 두 액션이 붙어있다는 것입니다.
잘 이해하시면 VBA실력과 데이터를 해석하는 눈이 높아질 것으로 보입니다.
예제보고 열심히 공부하세요.
첨부 파일 : 20160613-분리된 데이터 행으로 통합
By vinipapa • 무른모 • 0