• マクロは、フォルダーC:\ Dataにあるすべてのファイルの最初のワークシートの一部をワークブックの最初のワークシートにコピーします。

  • 最初のマクロは通常のコピーを実行し、2番目のマクロは値をコピーします。

各ワークブックの最初のシートを、コードが含まれているワークブックにコピーします。

シート名はブックの名前です。

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