|
こんにちは
簡単な例です。
>ActivateやSelect のような選択処理も、まったく必要ありません。
どのブックのどのシートのセルか明示すればいいのです。
これはブックだけですけど、シートもオブジェクト変数を用意してセットしておけば
もっとコードがシンプルに保守し易くなると思います。
各ブックとも同じ処理なら配列変数にブックをセットしてループ処理してもいいです。
Sub test()
Dim BK1 As Workbook
Dim BK2 As Workbook
Dim BK3 As Workbook
Dim BK4 As Workbook
Dim BK5 As Workbook
Dim BK6 As Workbook
Set BK1 = ThisWorkbook
Set BK2 = Workbooks.Open("C:\Book2.xls")
Set BK3 = Workbooks.Open("C:\Book3.xls")
Set BK4 = Workbooks.Open("C:\Book4.xls")
Set BK5 = Workbooks.Open("C:\Book5.xls")
Set BK6 = Workbooks.Open("C:\Book6.xls")
BK2.Sheets("Sheet1").Range("A1:A90") _
.Copy BK1.Sheets("Sheet1").Range("B5")
BK3.Sheets("Sheet1").Range("B1:B90") _
.Copy BK1.Sheets("Sheet1").Range("C5")
BK4.Sheets("Sheet1").Range("C1:C90") _
.Copy BK1.Sheets("Sheet1").Range("D5")
BK5.Sheets("Sheet1").Range("D1:D90") _
.Copy BK1.Sheets("Sheet1").Range("E5")
BK6.Sheets("Sheet1").Range("F1:F90") _
.Copy BK1.Sheets("Sheet1").Range("F5")
BK2.Close False
BK3.Close False
BK4.Close False
BK5.Close False
BK6.Close False
Set BK2 = Nothing
Set BK3 = Nothing
Set BK4 = Nothing
Set BK5 = Nothing
Set BK6 = Nothing
End Sub
|
|