Microsoft Excel에서 VBA를 사용하여 폴더에 통합 문서에 각 통합 문서에서 시트를 복사
-
매크로는 C : \ Data 폴더에있는 모든 파일의 첫 번째 워크 시트 일부를 통합 문서의 첫 번째 워크 시트로 복사합니다.
-
첫 번째 매크로는 일반 복사를 수행하고 두 번째 매크로는 값을 복사합니다.
각 통합 문서의 첫 번째 시트를 코드가있는 통합 문서에 복사합니다.
시트 이름은 통합 문서의 이름입니다.
Sub CopySheet() Dim basebook As Workbook Dim mybook As Workbook Dim i As Long Application.ScreenUpdating = False With Application.FileSearch .NewSearch .LookIn = "C:\Data" .SearchSubFolders = False .FileType = msoFileTypeExcelWorkbooks If .Execute() > 0 Then Set basebook = ThisWorkbook For i = 1 To .FoundFiles.Count Set mybook = Workbooks.Open(.FoundFiles(i)) mybook.Worksheets(1).Copy after:= _ basebook.Sheets(basebook.Sheets.Count) ActiveSheet.Name = mybook.Name mybook.Close Next i End If End With Application.ScreenUpdating = True End Sub
이 하위 (TestFile4_values)의 경우 보호되지 않은 워크 시트가 있거나 코드에서 보호 해제되어야합니다.
Sub CopySheetValues() Dim basebook As Workbook Dim mybook As Workbook Dim i As Long Application.ScreenUpdating = False With Application.FileSearch .NewSearch .LookIn = "C:\Data" .SearchSubFolders = False .FileType = msoFileTypeExcelWorkbooks If .Execute() > 0 Then Set basebook = ThisWorkbook For i = 1 To .FoundFiles.Count Set mybook = Workbooks.Open(.FoundFiles(i)) mybook.Worksheets(1).Copy after:= _ basebook.Sheets(basebook.Sheets.Count) ActiveSheet.Name = mybook.Name With ActiveSheet.UsedRange .Value = .Value End With mybook.Close Next i End If End With Application.ScreenUpdating = True End Sub