Skip to main content

특정 폴더의 워크북을 반복 처리하고 데이터를 마스터 시트로 복사하는 방법은 무엇입니까?

Author: Siluvia Last Modified: 2025-08-06

여러 Excel 워크북이 폴더에 있고, 이러한 모든 파일에서 특정 범위(예: Sheet1)의 데이터를 마스터 시트로 복사해야 한다고 가정해 보겠습니다. 이 가이드에서는 Excel에서 이 과정을 간소화하기 위한 상세한 VBA 솔루션을 제공합니다.

VBA 코드를 사용하여 디렉토리의 워크북을 반복 처리하고 데이터를 마스터 시트로 복사하기


VBA 코드를 사용하여 디렉토리의 파일을 반복 처리하고 데이터를 마스터 시트로 복사하기

특정 폴더에 있는 모든 워크북의 Sheet1에서 범위 A1:D4의 데이터를 복사하여 마스터 시트로 붙여넣으려면 다음과 같이 하세요.

1. 마스터 워크시트를 생성할 워크북에서 Alt + F11 키를 눌러 Microsoft Visual Basic for Applications 창을 엽니다.

2. Microsoft Visual Basic for Applications 창에서 삽입 > 모듈을 클릭합니다. 그런 다음 아래 VBA 코드를 코드 창에 복사합니다.

VBA 코드: 폴더의 파일을 반복 처리하고 데이터를 마스터 시트로 복사하기

Sub Merge2MultiSheets()
    Dim xRg As Range
    Dim xSelItem As Variant
    Dim xFileDlg As FileDialog
    Dim xFileName, xSheetName, xRgStr As String
    Dim xBook, xWorkBook As Workbook
    Dim xSheet As Worksheet
    On Error Resume Next
    Application.DisplayAlerts = False
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    xSheetName = "Sheet1"
    xRgStr = "A1:D4"
    Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
    With xFileDlg
        If .Show = -1 Then
            xSelItem = .SelectedItems.Item(1)
            Set xWorkBook = ThisWorkbook
            Set xSheet = xWorkBook.Sheets("New Sheet")
            If xSheet Is Nothing Then
                xWorkBook.Sheets.Add(after:=xWorkBook.Worksheets(xWorkBook.Worksheets.Count)).Name = "New Sheet"
                Set xSheet = xWorkBook.Sheets("New Sheet")
            End If
            xFileName = Dir(xSelItem & "\*.xlsx", vbNormal)
            If xFileName = "" Then Exit Sub
            Do Until xFileName = ""
               Set xBook = Workbooks.Open(xSelItem & "\" & xFileName)
                Set xRg = xBook.Worksheets(xSheetName).Range(xRgStr)
                xRg.Copy xSheet.Range("A65536").End(xlUp).Offset(1, 0)
                xFileName = Dir()
                xBook.Close
            Loop
        End If
    End With
    Application.DisplayAlerts = True
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub

참고:

1). 코드에서 “A1:D4”와 “Sheet1”은 모든 Sheet1의 범위 A1:D4의 데이터가 마스터 시트로 복사된다는 것을 의미합니다. 그리고 “New Sheet”는 새로 생성된 마스터 시트의 이름입니다.
2). 특정 폴더의 Excel 파일은 열려 있지 않아야 합니다.

3. 코드를 실행하려면 F5 키를 누릅니다.

4. 열리는 찾아보기 창에서 반복 처리할 파일이 포함된 폴더를 선택한 후 확인 버튼을 클릭하세요. 스크린샷 보기:

A screenshot of the Browse dialog box in Excel for selecting a folder containing files to loop through

“New Sheet”라는 이름의 마스터 워크시트가 현재 워크북의 끝에 생성됩니다. 또한 선택한 폴더의 모든 Sheet1에서 범위 A1:D4의 데이터가 해당 워크시트에 나열됩니다.


관련 기사:

최고의 오피스 생산성 도구

🤖 Kutools AI Aide: 지능형 실행을 기반으로 데이터 분석 혁신 지능형 실행   |  코드 생성  |  사용자 정의 수식 생성  |  데이터 분석 및 차트 생성  |  Kutools Functions 호출
인기 기능: 중복 찾기, 강조 또는 중복 표시  |  빈 행 삭제  |  데이터 손실 없이 열 또는 셀 병합  |  반올림...
슈퍼 LOOKUP: 다중 조건 VLookup    다중 값 VLookup  |   다중 시트 조회   |   퍼지 매치 ....
고급 드롭다운 목록: 드롭다운 목록 신속 생성  |  의존형 드롭다운 목록  |  다중 선택 드롭다운 목록....
열 매니저: 지정 개수 열 추가  |  열 이동  |  숨겨진 열 표시 상태 전환 |  범위 및 열 비교 ...
주요 기능: 그리드 포커스  |  디자인 보기  |  향상된 수식 표시줄   통합 문서 & 시트 관리   |  자동 텍스트 라이브러리   |  날짜 선택기   |  데이터 병합   |  셀 암호화/해독   목록별 이메일 보내기  |  슈퍼 필터  |  특수 필터 (굵게/이탤릭/취소선 필터...)...
Top15 도구 세트12개 텍스트 도구(텍스트 추가, 특정 문자 삭제, ...)  |  50+ 차트 유형(간트 차트, ...)  |  40+ 실용 수식(생일을 기반으로 나이 계산, ...)  |  19개 삽입 도구(QR 코드 삽입, 경로에서 그림 삽입, ...)  |  12개 변환 도구(단어로 변환하기, 통화 변환, ...)  |  7개 병합 & 분할 도구(고급 행 병합, 셀 분할, ...)  |  ... 그리고 그 외
Kutools를 원하는 언어로 사용하세요 – 영어, 스페인어, 독일어, 프랑스어, 중국어 등40가지 이상의 언어를 지원합니다!

Kutools for Excel로 Excel 실력을 한 단계 업그레이드하고, 그 어떤 때보다 뛰어난 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능을 제공하여 생산성을 높이고 저장 시간을 줄여줍니다. 가장 필요한 기능을 지금 바로 확인하세요...


Office Tab이 오피스에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다

  • Word, Excel, PowerPoint에서 탭 기반 편집과 읽기를 활성화합니다.
  • 여러 문서를 새 창이 아닌 동일한 창의 새 탭에서 열고 생성하세요.
  • 생산성이50% 향상되며, 매일 수백 번의 마우스 클릭을 줄일 수 있습니다!