|
>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
|
|