|
こんばんは。
スマートかどうか解りませんが、↓のような感じでは如何でしょうか?
2箇所くらいだと、ループしなくてもよいかな、と思います。
Sub test()
Dim strFile As String
Dim rngCopy As Range
Application.ScreenUpdating = False
'ファイルオープン
Workbooks.Open Filename:=strFile
'データコピー
With ThisWorkbook.Worksheets("MAIN")
Set rngCopy = _
ActiveSheet.Range(ActiveSheet.Cells(2, 5), ActiveSheet.Cells(6536, 5).End(xlUp))
.Cells(5, 1).Resize(rngCopy.Rows.Count).Value = rngCopy.Value
Set rngCopy = _
ActiveSheet.Range(ActiveSheet.Cells(2, 11), ActiveSheet.Cells(6536, 11).End(xlUp))
.Cells(5, 2).Resize(rngCopy.Rows.Count).Value = rngCopy.Value
End With
Set rngCopy = Nothing
Workbooks(Dir(strFile)).Close
Application.ScreenUpdating = True
End Sub
|
|