ein Blatt aus jeder Arbeitsmappe in Ihre Arbeitsmappe in einem Ordner * Das Makro kopiert einen Teil des ersten Arbeitsblatts jeder Datei im Ordner C: \ Data in das erste Arbeitsblatt Ihrer Arbeitsmappe.

  • Das erste Makro kopiert normal und das zweite Makro kopiert die Werte.

Das erste Blatt jeder Arbeitsmappe wird in die Arbeitsmappe kopiert, in der sich der Code befindet.

Der Blattname ist der Name der Arbeitsmappe.

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

Für dieses Sub (TestFile4_values) müssen Sie ungeschützte Arbeitsblätter haben oder diese im Code aufheben.

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