• 매크로는 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