|
▼エクセル勉強中 さん:
コピー先ブックの状態のみならず、コピー元ブックの状態、
特にそこにある式がコピペで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
|
|