엑셀 파일에서 여러 시트에 걸쳐 있는 데이터를 하나의 시트로 합치는 매크로
본문 바로가기
OFFICE_오피스/엑셀_매크로

엑셀 파일에서 여러 시트에 걸쳐 있는 데이터를 하나의 시트로 합치는 매크로

by AICanvas 2023. 4. 14.
728x90
SMALL

엑셀 파일에서 여러 시트에 걸쳐 있는 데이터를 하나의 시트로 합치는 매크로

엑셀 파일에서 여러 시트에 걸쳐 있는 데이터를 하나의 시트로 합치는 매크로를 만들어 보겠습니다.

엑셀 파일을 엽니다.
[개발] 탭에서 [Visual Basic]을 클릭합니다.
[삽입] -> [모듈] 을 클릭하여 새 모듈을 추가합니다.
다음 코드를 입력합니다.

Sub 데이터_합치기()
    ' 데이터 합치기 매크로
    
    Dim ws As Worksheet
    Dim data As Variant
    Dim newData As Variant
    Dim lastRow As Long, lastCol As Long
    Dim i As Long, j As Long, k As Long
    
    ' 새로운 시트 추가
    Set ws = ThisWorkbook.Sheets.Add
    ws.Name = "Combined Data"
    k = 1
    
    ' 모든 시트에서 데이터를 읽어와서 배열에 저장
    For Each ws In ThisWorkbook.Worksheets
        If ws.Name <> "Combined Data" Then
            lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
            lastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column
            data = ws.Range(ws.Cells(1, 1), ws.Cells(lastRow, lastCol)).Value
            For i = 1 To UBound(data)
                For j = 1 To UBound(data, 2)
                    newData(k, j) = data(i, j)
                Next j
                k = k + 1
            Next i
        End If
    Next ws
    
    ' 모든 데이터를 시트에 출력
    ws.Range("A1").Resize(UBound(newData), UBound(newData, 2)).Value = newData
    
End Sub

매크로를 실행하려면 [F5] 키를 누르거나, 개발 탭에서 매크로 이름을 선택한 후 [실행]을 클릭합니다.
이제 모든 시트에 걸쳐 있는 데이터가 "Combined Data" 시트에 합쳐져서 저장되었습니다. 이와 같이 매크로를 사용하면 여러 시트에 걸쳐 있는 데이터를 쉽게 합칠 수 있습니다.

728x90
LIST

댓글