본문 바로가기

Python, R, Excel 등등

VBA로 Excel 시트 결합하는 방법

728x90
반응형

Excel에서 데이터로 작업하는 경우 여러 워크시트의 데이터를 하나의 워크시트로 결합해야 하는 상황에 직면했을 수 있습니다. 이 작업을 수동으로 수행하면 시간이 오래 걸리고 특히 결합할 시트 수가 많은 경우 오류가 발생하기 쉽습니다. 다행히 VBA(Visual Basic for Applications)를 사용하면 이 프로세스를 자동화하고 시간을 절약할 수 있습니다.

Excel 시트와 VBA를 결합하는 방법을 보여드리겠습니다.

 

Excel 시트와 VBA를 결합하는 기본 단계입니다:

1. 결합하려는 시트가 포함된 Excel 통합 문서를 엽니다.

2. Alt + F11을 눌러 VBA 편집기를 엽니다.

3. VBA 편집기에서 삽입을 클릭한 다음 모듈을 클릭합니다.

4. 다음 코드를 모듈에 붙여넣습니다:

 

Sub CombineSheets()

Dim i As Integer

Dim j As Integer

Dim k As Integer

Dim ws As Worksheet

Dim rng As Range

 

Set ws = Worksheets.Add(After:=Worksheets(Worksheets.Count))

ws.Name = "Combined Sheets"

Set rng = ws.Range("A1")

 

For i = 1 To Worksheets.Count

    If Worksheets(i).Name <> ws.Name Then

        Worksheets(i).Activate

        Range("A1").Select

        Selection.CurrentRegion.Select

         Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1, _

             Selection.Columns.Count).Select

          Set rng2 = Selection

          rng2.Copy

          rng.PasteSpecial xlPasteValues

          Set rng = rng.Offset(rng2.Rows.Count, 0)

        End If

      Next i

End Sub

5. F5 키를 누르거나 실행 버튼을 클릭하여 코드를 실행합니다.

6. 메시지가 표시되면 확인을 클릭하여 다른 모든 시트의 데이터를 포함하는 '결합된 시트'라는 이름의 새 시트를 만듭니다.

 

또 다른 코드는 다음과 같습니다:

이 코드는 통합 문서의 각 시트를 통과하는 루프를 만들고 첫 번째 열의 데이터를 선택한 다음 대상 워크시트로 복사합니다. 대상 워크시트는 통합 문서의 첫 번째 시트로 가정합니다. 대상 워크시트가 다른 경우 그에 따라 코드를 수정할 수 있습니다.

728x90
반응형