| 
    
     |  | ▼エクセル勉強中 さん: 
 コピー先ブックの状態のみならず、コピー元ブックの状態、
 特にそこにある式がコピペでOKなものなのかどうか不透明な部分が少なくないのですが
 とりあえず。
 
 DeskTopにあるエクセルブックを読みこみ、各ブックの最初のシートのデータを
 マクロブックの最初のシートにコピペします。
 
 Sub Test集約()
 Dim fPath As String
 Dim fName As String
 Dim fSh As Worksheet
 Dim tSh As Worksheet
 Dim z As Long
 
 Application.ScreenUpdating = False
 
 Set tSh = ThisWorkbook.Sheets(1)
 fPath = CreateObject("WScript.Shell").SpecialFolders("DeskTop") & "\Test\"
 
 fName = Dir(fPath & "*.xls*")
 
 Do While fName <> ""
 If fName <> ThisWorkbook.Name Then '念のため
 Set fSh = Workbooks.Open(fPath & fName).Sheets(1)
 z = fSh.Columns("C").Find(What:="*", LookAt:=xlWhole, LookIn:=xlValues, SearchDirection:=xlPrevious, After:=fSh.Range("C" & Rows.Count)).Row
 If z > 17 Then
 Range("A17:J" & z).Copy tSh.Range("C" & Rows.Count).End(xlUp).Offset(1).Offset(, -2)
 End If
 fSh.Parent.Close False
 End If
 fName = Dir()
 Loop
 
 End Sub
 
 
 |  |