| 
    
     |  | ▼希椛(ののか) さん: 
 こんにちは
 
 質問内でお使いの「統合」、まさにエクセル機能の「統合」を使えば
 (別のシートになりますが)お望みの統合結果が得られます。
 作業的には、「区切り位置」等も併用し、いささかめんどうですが、
 これをVBAコードにすることもできます。
 
 以下は、「そうではない」方法での統合です。
 セルに直接書き込んでいますので、処理効率が悪ければ、もう少し工夫もできます。
 
 Sub Sample()
 Dim dic As Object
 Dim c As Range
 Dim myKey As Variant
 Dim k As Long
 Application.ScreenUpdating = False
 Set dic = CreateObject("Scripting.Dictionary")
 For Each c In Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)
 myKey = Join(WorksheetFunction.Index(c.Resize(, 4).Value, 1, 0), vbTab) 'A〜D
 dic(myKey) = dic(myKey) + c.Offset(, 4).Value 'E列の値を足しこみ
 Next
 Cells.ClearContents
 For Each myKey In dic
 k = k + 1
 Cells(k, 1).Resize(, 4) = Split(myKey, vbTab)
 Cells(k, 5).Value = dic(myKey)
 Next
 Application.ScreenUpdating = True
 End Sub
 
 
 |  |