오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴
미해결 엑셀2016윈도우11

여러 엑셀파일에서 시트1만 하나의 파일로 합치기

김석호
6월 8일 조회 480
여기에 적은 vba 사용하면 각 파일의 모든 시트가 하나의 파일로 합쳐지는데 이것을 약간 수정해서 각파일에서 1번 시트만 하나의 파일에 합칠수 있을까요 ?

Sub MergeExcelFiles()

 



 

Dim fnameList, fnameCurFile As Variant

 

Dim countFiles, countSheets As Integer

 

Dim wksCurSheet As Worksheet

 

Dim wbkCurBook, wbkSrcBook As Workbook

 



 

fnameList = Application.GetOpenFilename(filefilter:="Microsoft Excel Workbooks (*.xls;*.xlsx;*.xlsm),*.xls;*.xlsx;*.xlsm", Title:="파일을 모두 선택하세요", MultiSelect:=True)

 



 

If (vbBoolean <> VarType(fnameList)) Then

 

If (UBound(fnameList) > 0) Then

 

countFiles = 0

 

countSheets = 0

 

Application.ScreenUpdating = False

 

Application.Calculation = xlCalculationManual

 



 

Set wbkCurBook = ActiveWorkbook

 



 

For Each fnameCurFile In fnameList

 

countFiles = countFiles + 1

 

Set wbkSrcBook = Workbooks.Open(Filename:=fnameCurFile)

 



 

For Each wksCurSheet In wbkSrcBook.Sheets

 

countSheets = countSheets + 1

 

wksCurSheet.Copy after:=wbkCurBook.Sheets(wbkCurBook.Sheets.Count)

 

Next

 

wbkSrcBook.Close savechanges:=False

 

Next

 

Application.ScreenUpdating = True

 

Application.Calculation = xlCalculationAutomatic

 

MsgBox countFiles & " 개의 파일에서" & vbCrLf & countSheets & " 개의 시트를 복사했습니다.", Title:="파일이 통합되었습니다."

 

End If

 

End If

 

End Sub

댓글 1

김석호 작성자 6월 8일
자체 해결했습니다

질문답변 게시판의 최근 글

스크랩 완료