때로는 서로 다른 Excel 통합 문서의 시트를 결합하여 새 보고서나 통합 데이터 파일을 만들어야 하는 경우도 있습니다. 이러한 작업은 표준 MS Excel 도구를 사용하여 수동으로 수행할 수 있지만 많은 시간과 노력이 필요할 수 있습니다. 이 프로세스를 자동화하고 보고서 작업 속도를 높이는 방법을 고려해 보겠습니다.
예를 들어, Excel이라는 통합 문서가 많이 있는데, 이를 만들고 싶습니다. 워크시트 모음 모든 책을 하나의 파일로 묶습니다. 이렇게 하려면 모든 시트를 수집하려는 통합 문서를 열고 다음 매크로 코드를 추가하세요.
모든 시트를 수집하려는 Excel 통합 문서를 연 상태에서 Visual Basic Editor(Alt+F11)을 열고, 모듈 삽입 VBA ( Insert - Module ) 거기에 다음 매크로 코드를 복사합니다.
Sub CombineWorkbooks() 'moonexcel.com.ua Dim FilesToOpen Dim x As Integer On Error GoTo ErrHandler Application.ScreenUpdating = False FilesToOpen = Application.GetOpenFilename _ (FileFilter:="Microsoft Excel Files (*.xls), *.xls", _ MultiSelect:=True, Title:="Files to Merge") If TypeName(FilesToOpen) = "Boolean" Then MsgBox " 선택한 파일이 없습니다! " GoTo ExitHandler End If x = 1 While x <= UBound(FilesToOpen) Workbooks.Open Filename:=FilesToOpen(x) Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) x = x + 1 Wend ExitHandler: Application.ScreenUpdating = True Exit Sub ErrHandler: MsgBox Err.Description Resume ExitHandler End Sub
그런 다음 Excel로 돌아가서 메뉴를 통해 매크로를 실행할 수 있습니다. Tools - Macro - Macros (Alt+F8) . 현재 통합 문서에 추가하려는 시트가 있는 하나 이상의 파일(Ctrl 키를 누른 채)을 선택해야 하는 대화 상자가 나타납니다.
다른 Excel 파일 확장자(예: *.xlsx, *.xlsm, *.xlsb 등)를 사용하는 경우 매크로 코드의 9번째 줄을 적절하게 변경해야 합니다.