|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
- 엑셀 버전(95,97,2000,xp,2003,2007):
* 아래줄에 질문을 작성하세요 >>
각각의 시트를 하나로 묵으려합니다
지금 북사 붙이를합니다
좋은 방법이 있을까요
==============[지아엄마님 글에 대한 답변입니다]==============
간단하게 아래와 같이 메크로로 작성했습니다.
첨부자료 참조하세요..
Sub DataMerge()
Dim wst As Worksheet
Dim wstMg As Worksheet
Dim rX As Range
Dim blnX As Boolean
Dim rTable As Range, rField As Range
Set wstMg = Worksheets("다 모우기")
Set rField = wstMg.Cells(1, 1).CurrentRegion.Rows(1)
For Each wst In Worksheets
If wst.Name = wstMg.Name Then
Else
Set rTable = wst.UsedRange
For Each rX In rField.Cells
If rX = rTable.Rows(1).Cells(1, rX.Column) Then
blnX = True
Else
blnX = False
Exit For
End If
Next
If blnX Then
rTable.Offset(1).Resize(rTable.Rows.Count - 1).Copy wstMg.Cells(Rows.Count, 1).End(xlUp)(2, 1)
Else
MsgBox "[" & wst.Name & "] 시트의 자료는 구조가 틀립니다. 확인이 필요합니다.", vbCritical
End If
End If
Next
End Sub
|
|