| 
    
     |  | >3つのファイルパス フルパスを書くとなると結構長いので、タイプミスでエラーになるかも
 しれませんよ。なのでもし、3つのブックが別々のフォルダーに保存
 されているなら、一つにまとめておいてブック名(拡張子はいらない)のみを
 セルに入力した方がいいです。
 それが出来ないなら、"ファイルを開く"ダイアログを繰り返し出して、
 コピー元のブックを一つ選択しては処理する。というやり方にした方が安全です。
 それで良ければコードは・・
 
 Sub Data_Collect2()
 Dim WS As Worksheet
 Dim i As Long, xR As Long
 Dim MyF As String, Snm As String
 
 Set WS = ThisWorkbook.Worksheets(1)
 Application.ScreenUpdating = False
 WS.Cells.ClearContents
 For i = 1 To 3
 MyF = Application _
 .GetOpenFilename("エクセルブック(*.xls),*.xls")
 If MyF = "False" Then Exit Sub
 Snm = StrConv(CStr(i), 4)
 Workbooks.Open MyF
 With ActiveWorkbook.Worksheets(Snm)
 xR = .Range("A65536").End(xlUp).Row
 If i = 1 Then
 .Range("A1:AF" & xR).Copy WS.Range("A1")
 Else
 .Range("A2:AF" & xR).Copy WS.Range("A65536") _
 .End(xlUp).Offset(1)
 End If
 End With
 ActiveWorkbook.Close False
 Next i
 Set WS = Nothing
 End Sub
 
 
 |  |