| 
    
     |  | おはようございます。 
 Sheet1
 > A        B    C    D     E  F・・・・ M
 >製造番号11   4 月   5 月   6 月
 >東京本店    15000  12000   13000
 >大阪支店    13000  15000  12000
 
 
 Sheet2
 > A        B    C    D     E  F・・・・M
 >製造番号22   5 月   6 月   7月
 >東京本店    15000  11000   13000
 >大阪支店    14000  15000  11000
 
 
 Sheet1とSheet2の合計を転記
 Sheet3
 >  A    B    C    D    E    F   G   H   I
 >製造番号 4月   5月  6月   7月   8月 9月 10月 11月・・・
 >11    28000  27000  25000
 >22        29000  26000  24000
 >33
 >44
 >55
 
 まずは、上記のように、同じブック内で、Sheet3の形を作ってみてはどうでしょうか。
 これがでたら、Wprkbooks.Openを利用して、ブック間操作をすればできます。
 
 参考までに、各シートの下に合計を求めるサンプルを作っておきました。
 これから先は、いろいろ試してみて、作ってください。
 
 ただし、
 A1セルに製造番号○○と必ず入れておいてください。
 製造番号11   4 月   5 月   6 月
 の項目行は1行目とします。
 
 Sub test()
 Dim nmb As String
 Dim s As Worksheet
 Dim vntM, myArray(1 To 13)
 Dim r As Range, rng As Range
 Dim LastRow As Long, clmn As Long
 '
 vntM = Array("製造番号", "4月", "5月", "6月", "7月", "8月", _
 "9月", "10月", "11月", "12月", "1月", "2月", "3月")
 '
 For Each s In ThisWorkbook.Worksheets
 nmb = s.Cells(1, 1).Text
 If Left(nmb, 4) = "製造番号" Then
 LastRow = s.Cells(65536, 1).End(xlUp).Row
 For Each r In s.Range("B1:M1")
 For clmn = 1 To UBound(vntM)
 If vntM(clmn) = r.Text Then Exit For
 Next
 '
 Set rng = r.Offset(1).Resize(LastRow - 1, 1)
 myArray(clmn + 1) = Application.Sum(rng)
 Next
 s.Activate
 s.Cells(LastRow + 2, 1).Resize(2, UBound(myArray)).Value = _
 Application.Transpose(Application.Transpose(Array(vntM, myArray)))
 End If
 Next
 '
 Set rng = Nothing
 Erase vntM: Erase myArray
 End Sub
 
 |  |