특정 폴더의 워크북을 반복 처리하고 데이터를 마스터 시트로 복사하는 방법은 무엇입니까?
여러 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참고:
3. 코드를 실행하려면 F5 키를 누릅니다.
4. 열리는 찾아보기 창에서 반복 처리할 파일이 포함된 폴더를 선택한 후 확인 버튼을 클릭하세요. 스크린샷 보기:

“New Sheet”라는 이름의 마스터 워크시트가 현재 워크북의 끝에 생성됩니다. 또한 선택한 폴더의 모든 Sheet1에서 범위 A1:D4의 데이터가 해당 워크시트에 나열됩니다.
관련 기사:
최고의 오피스 생산성 도구
| 🤖 | Kutools AI Aide: 지능형 실행을 기반으로 데이터 분석 혁신 지능형 실행 | 코드 생성 | 사용자 정의 수식 생성 | 데이터 분석 및 차트 생성 | Kutools Functions 호출… |
| 인기 기능: 중복 찾기, 강조 또는 중복 표시 | 빈 행 삭제 | 데이터 손실 없이 열 또는 셀 병합 | 반올림... | |
| 슈퍼 LOOKUP: 다중 조건 VLookup | 다중 값 VLookup | 다중 시트 조회 | 퍼지 매치 .... | |
| 고급 드롭다운 목록: 드롭다운 목록 신속 생성 | 의존형 드롭다운 목록 | 다중 선택 드롭다운 목록.... | |
| 열 매니저: 지정 개수 열 추가 | 열 이동 | 숨겨진 열 표시 상태 전환 | 범위 및 열 비교 ... | |
| 주요 기능: 그리드 포커스 | 디자인 보기 | 향상된 수식 표시줄 | 통합 문서 & 시트 관리 | 자동 텍스트 라이브러리 | 날짜 선택기 | 데이터 병합 | 셀 암호화/해독 | 목록별 이메일 보내기 | 슈퍼 필터 | 특수 필터 (굵게/이탤릭/취소선 필터...)... | |
| Top15 도구 세트: 12개 텍스트 도구(텍스트 추가, 특정 문자 삭제, ...) | 50+ 차트 유형(간트 차트, ...) | 40+ 실용 수식(생일을 기반으로 나이 계산, ...) | 19개 삽입 도구(QR 코드 삽입, 경로에서 그림 삽입, ...) | 12개 변환 도구(단어로 변환하기, 통화 변환, ...) | 7개 병합 & 분할 도구(고급 행 병합, 셀 분할, ...) | ... 그리고 그 외 |
Kutools for Excel로 Excel 실력을 한 단계 업그레이드하고, 그 어떤 때보다 뛰어난 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능을 제공하여 생산성을 높이고 저장 시간을 줄여줍니다. 가장 필요한 기능을 지금 바로 확인하세요...
Office Tab이 오피스에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다
- Word, Excel, PowerPoint에서 탭 기반 편집과 읽기를 활성화합니다.
- 여러 문서를 새 창이 아닌 동일한 창의 새 탭에서 열고 생성하세요.
- 생산성이50% 향상되며, 매일 수백 번의 마우스 클릭을 줄일 수 있습니다!