|
▼ケメ子 さん:
こんにちは
元ブックを開かないで処理を行う案です。
かんたんなテストしかしていないのでバグあればご容赦。
Sub Sample()
Dim fPath As String '元ブックのパス
Dim tPath As String '先ブックのパス
Dim fPre As String '元ブックの統一名
Dim tPre As String '先ブックの統一名
Dim i As Long
Dim shn As Variant
Application.ScreenUpdating = False
fPath = "c:\Test1\" '実際の名前に
tPath = "c:\Test2\" '実際の名前に
fPre = "元"
tPre = "先"
For i = 1 To 20
Workbooks.Open tPath & tPre & i & ".xls", Password:="abc"
For Each shn In Array("A", "B", "C", "D")
With Worksheets(shn).Range("G5").Resize(50)
.Formula = "='" & fPath & "[" & fPre & i & ".xls]" & shn & "'!A1"
.Value = .Value
End With
Next
ActiveWorkbook.Close True
Next
Application.ScreenUpdating = True
MsgBox "処理が終了しました。"
End Sub
|
|