2011. 7. 13. 13:32ㆍ2011년
VB 메크로를 이용하여 어러 엑셀 시트의 데이터를 한 시트로 복사할 수 있다.
Sub all() 'Function 시작
Dim sht As Worksheet
Dim i As Integer
Dim copyTarget As Range, copyRange As Range, copyStart As Range
Set copyStart = Sheets("all").Range("a1") '붙여넣기 시작할 처음 셀 지정
For Each sht In ThisWorkbook.Worksheets
If sht.Name <> "all" Then '"all"는 각 시트의 내용을 모을 셀이므로 복사하면 안됨.
Set copyRange = sht.UsedRange '각 시트의 usedRange를 복사하기 위해 지정
Set copyTarget = copyStart.Offset(copyStart.SpecialCells(xlLastCell).Row + 1, 0) '복사해 붙여넣을 위치 지정
copyRange.Copy copyTarget '각 시트를 복사해서 붙여넣을 셀로 붙여넣음
End If
Next
End Sub
이렇게 복사하면 시트의 크기는 조절이 안되고 데이터만 가져오게 된다.
엑셀 시트의 모양까지 그대로 복사는 안되는것인가... 연구 필요.!